有没有办法在python中找到“in”关键字匹配的索引

时间:2012-11-16 05:52:16

标签: python

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

如果我使用

之类的东西
if x in list

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

2 个答案:

答案 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]