我有一个列表text_lines = ['asdf','kibje','ABC','beea']
,我需要找到一个索引,其中出现字符串ABC
。
ABC = [s for s in text_lines if "ABC" in s]
ABC
现在是“ABC”
如何获得索引?
答案 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")
如果字符串更复杂,您可能需要与正则表达式结合使用,但为了完美匹配,这个简单的解决方案是最好的。