首页 文章

在字符串中查找多个字符:python3 [duplicate]

提问于
浏览
-1

这个问题在这里已有答案:

我想在字符串'akacja'中找到字母'a'的所有索引 . 但是,python似乎总是只返回它找到的第一个索引 . 有解决方案?感谢帮助 .

2 回答

  • 0

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

    s = 'akacja'
    
    indexes = [i for i, c in enumerate(s) if c == 'a']
    print(indexes)
    # OUTPUT
    # [0, 2, 5]
    
  • 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')]
    

相关问题