gpt4 book ai didi

python - 为什么 rfind 和 find 在 Python 2.6.5 中返回相同的值?

转载 作者:太空狗 更新时间:2023-10-29 20:33:54 26 4
gpt4 key购买 nike

我是 Python 的新手,有些事情正在发生。基本上,当我对字符串调用 str.rfind("test") 时,输出与 str.find("test") 相同。我最好给你举个例子:

Python 2.6.5 (r265:79063, May  6 2011, 17:25:59) 
[GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import string
>>> line = "hello what's up"
>>> line.rfind("what")
6
>>> line.find("what")
6

根据我的理解,line.find的值是可以的,但是line.rfind的值应该是9。我是否误解了这些功能或没有很好地使用它们?

最佳答案

我认为您期望 rfind 返回 “what” 的第一个/最左边匹配项中最右边字符的索引。它实际上返回 “what”的最后一个/最右边 匹配项中最左边字符的索引。引用the documentation :

str.rfind(sub[, start[, end]])

Return the highest index in the string where substring sub is found, such that sub is contained within s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 on failure.

"ab c ab".find("ab") 将是 0,因为最左边的出现在左端。
"ab c ab".rfind("ab") 将是 5,因为最右边的事件从该索引开始。

关于python - 为什么 rfind 和 find 在 Python 2.6.5 中返回相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6674990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com