1

这篇文章的标题可能很模糊。这是我需要知道的

如果我使用类似的东西

if x in list

如何在发生匹配的列表中找到索引?

4

2 回答 2

5

你不能从in它本身得到它。对于列表,您可以使用以下index方法:

>>> [1, 2, 5, 8, -1, 2].index(2)
1

如果该项目不在列表中,这将引发异常。请注意,它返回第一次出现的索引。它可能会发生多次。

于 2012-11-16T05:54:03.603 回答
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]
于 2012-11-16T05:54:45.057 回答