python3中的find()方法

时间:2017-01-24 04:56:53

标签: python-3.x find

我无法理解python3中find方法中的第二个参数是什么。我在网上搜索但无法得到令人满意的解释。例如,请解释一下使用情况以下代码中的数字5,20。

>>> str = "this is a string"
>>> str.find("is", 5)
5
>>> str.find("is", 20)
-1

3 个答案:

答案 0 :(得分:4)

这是find()开始搜索的起始索引。

str.find("is", 5)将从光标索引5开始搜索(相当于搜索子字符串str[5:]"is a string"

类似地,str.find("is", 6)将从光标索引6开始搜索(相当于搜索子字符串str[6:](即"s a string")。这将返回-1,因为在光标位置之后6,字符串"is"不在搜索字符串

编辑:这是一个值得记住的有用概念,但不适用于Python,因为Python没有char类型。 请记住,字符串类似于单个字符数组,因此字符串'hello'类似于str = ['h', 'e', 'l', 'l', 'o'],我们可以准确选择我们要从第二个参数开始搜索的数组中的哪个位置在find()

答案 1 :(得分:1)

括号内的

FieldName=value是从中开始研究子字符串的索引,输出中的IN (val1, val2, ...)是找到子字符串的索引。

请参阅this教程。

答案 2 :(得分:0)

在python3的find()函数中,你所讨论的第二个参数是起始索引,默认为0但你可以通过给出第二个参数将其重置为任何值。 如果找到,find函数返回子字符串的索引,否则它给出-1