如何获取字符串列表索引?

时间:2014-07-24 13:53:05

标签: python

我有一个列表text_lines = ['asdf','kibje','ABC','beea'],我需要找到一个索引,其中出现字符串ABC

ABC = [s for s in text_lines if "ABC" in s]

ABC现在是“ABC” 如何获得索引?

4 个答案:

答案 0 :(得分:4)

贪婪(如果没有找到则引发异常):

index = next(i for i, s in enumerate(text_lines) if "ABC" in s)

或者,收集所有这些:

indices = [i for i, s in enumerate(text_lines) if "ABC" in s]

答案 1 :(得分:0)

您的意思是" ABC" ?

如果只有一个" ABC",您可以使用内置的index()列表方法:

text_lines.index("ABC")

否则,如果有多个" ABC" s,您可以在列表中使用枚举:

indices = [idx for idx,val in enumerate(text_lines) if val == "ABC"]

答案 2 :(得分:0)

text_lines = ['asdf','kibje','ABC','beea']

abc_index = text_lines.index('ABC')

如果' ABC'只出现一次。上面的代码有效,因为index给出了第一次出现的索引。

多次出现你可以查看wim的回答

答案 3 :(得分:0)

简单的python列表功能。

index = text_lines.index("ABC")

如果字符串更复杂,您可能需要与正则表达式结合使用,但为了完美匹配,这个简单的解决方案是最好的。