在字符串中查找多个字符:python3

时间:2018-12-09 21:43:52

标签: python python-3.x string character

我想在字符串“ akacja”中找到字母“ a”的所有索引。但是python似乎总是只返回它找到的第一个索引。 有什么办法吗? 感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用列表推导,因为str.index()str.find()仅返回第一个索引:

s = 'akacja'

indexes = [i for i, c in enumerate(s) if c == 'a']
print(indexes)
# OUTPUT
# [0, 2, 5]

答案 1 :(得分:0)

您可以执行此操作...

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')]