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

在字符串中查找多个字符:python3,python,python-3.x,string,character,Python,Python 3.x,String,Character,我想在字符串“akacja”中查找字母“a”的所有索引。然而,python似乎总是只返回它找到的第一个索引。 有什么解决办法吗? 谢谢您的帮助。您可以使用列表理解,因为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 e

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

您可以使用列表理解,因为
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')]  

欢迎来到堆栈溢出!请阅读,也许还可以浏览一下。当询问您无法使用的代码时,请在您的问题中包含该代码,以便我们可以告诉您哪里出了问题。如果完整的代码太长,请将其压缩为一个字符串。