这个问题在这里已有答案:
我想在字符串'akacja'中找到字母'a'的所有索引 . 但是,python似乎总是只返回它找到的第一个索引 . 有解决方案?感谢帮助 .
您可以使用列表推导,因为 str.index() 和 str.find() 将只返回第一个索引:
str.index()
str.find()
s = 'akacja' indexes = [i for i, c in enumerate(s) if c == 'a'] print(indexes) # OUTPUT # [0, 2, 5]
你可以这样做......
indexes = [i for i,c in enumerate('akacja') if c == 'a']
以上行使用列表理解,这是简写:
indexes = [] for i,c in enumerated('akacja'): if c == 'a': indexes.append(i)
您也可以像这样使用正则表达式:
import re indexes = [f.start() for f in re.finditer('a', 'akacja')]
2 回答
您可以使用列表推导,因为
str.index()
和str.find()
将只返回第一个索引:你可以这样做......
以上行使用列表理解,这是简写:
您也可以像这样使用正则表达式: