Python 3中find()的等价函数是什么?
我正在学习麻省理工学院的Python公开课程,但在以下例子上遇到了一些困难:
首先,我们要使用一些Python内置的函数。要使用这些函数,你需要在文件的开头加上这行代码:from string import *。这样你就可以使用Python的字符串函数了。特别是,如果你想在一个目标字符串中找到一个关键词字符串的第一个匹配位置,可以使用find函数。
试着在一些例子上运行,比如find("atgacatgcacaagtatgcat","atgc")。注意它会返回关键词在目标字符串中第一次出现的位置索引。如果目标字符串中没有这个关键词,比如find("atgacatgcacaagtatgcat","ggcc"),它会返回-1。
这个课程是关于Python 2.4(大概是这个版本),但我在用Python 3做作业,顺便学习它们之间的区别。
5 个回答
7
str = "Python"
在Python2中:
string.find(str,"y")
在Python3中:
str.find("y")
9
这不还是在用 find
吗?根据文档的说明:
str.find(sub[, start[, end]])
这个函数会返回一个字符串中,子串
sub
第一次出现的位置,也就是它在字符串中的最小索引。这个查找是在字符串的一个切片s[start:end]
内进行的。可选的参数start
和end
就像在切片中那样使用。如果没有找到sub
,就返回 -1。
30
使用字符串的 .find()
方法,而不是 string.find()
。这个方法在 Python 2 中也可以用,而且可能更好。