我试图在Python中做一个简单的子字符串匹配,虽然我记得昨晚它工作得很好,但是从早上开始这段代码给出了以下错误。这似乎是一个已知的错误,有人能告诉我为什么会发生吗?
if string.find(row[1],drug) != -1:
print "abstract id = ", row[0],"Drug found=", drug
错误:
File "./substring.py", line 31, in <module>
if string.find(row[1],drug) != -1:
TypeError: slice indices must be integers or None or have an __index__ method
这里row[1]
和drug
都是简单的字符串。
什么是
string
?如果它是模块
string
,这将起作用。如果它是一个字符串对象(错误表明是这种情况),那么第二个参数是它应该开始搜索的位置。位置必须是整数或
None
或具有__index__
方法的对象。drug
是一个字符串,因此您会得到一个错误。你可能想要的是:
但是对于简单的子字符串检查,最好使用
in
:与其
string.find(row[1], drug)
,不如尝试row[1].find(drug)
。.find()
方法将为字符串的第一个匹配项提供索引。相关问题 更多 >
编程相关推荐