这篇文章的标题可能很模糊。这是我需要知道的
如果我使用
之类的东西if x in list
如何在列表中找到匹配的索引?
答案 0 :(得分:5)
你无法从in
本身获得。对于列表,您可以使用index
方法:
>>> [1, 2, 5, 8, -1, 2].index(2)
1
如果项目不在列表中,这将引发异常。请注意,它返回第一个出现的索引。它可能会多次出现。
答案 1 :(得分:1)
你不能。
最好将list_.index(x)
用于此用例。
如果您的序列匹配零次或多次,您应该更喜欢使用enumerate
:
>>> list_ = ['foo', 'bar', 'spam', 'foo', 'eggs']
>>> idxs = [i for i,x in enumerate(list_) if x == 'foo']
>>> print idxs
[0, 3]