Python - 是否有一个类似于list.index()的函数,它不受列表中重复值的影响?

时间:2012-12-24 18:21:45

标签: python list function python-2.7

list.index()将为您提供第一次在列表中显示该值的索引,但我正在寻找一种方法来返回该特定项目的索引,无论是否重复该值,例如,如果要这样使用它:

lst = [1,4,5,1,4]

for i in lst:
    lst.something(i)

将返回

0
1
2
3
4

任何帮助表示赞赏

3 个答案:

答案 0 :(得分:7)

您在寻找enumerate吗?

>>> lst = [1,4,5,1,4]
>>> for index, elm in enumerate(lst):
...  print index, elm
...
0 1
1 4
2 5
3 1
4 4
>>>

答案 1 :(得分:2)

使用枚举

for i,_ in enumerate(listt):
    print i

答案 2 :(得分:2)

不,lst.something(1)无法知道是否返回0或3,具体取决于调用它的1。 int是基本类型,因此任何1都与另一个1相同。

作为证明,您可以使用is运算符:

lst = [1, 4, 5, 1, 4]
print lst[0] is lst[3]
# True

因此,当调用假设函数lst.something(1)时,无论您如何调用它,它都不知道您指的是哪个1