在列表中查找项目索引

时间:2015-10-26 15:39:00

标签: python list loops indexing

这是一个非常简单的问题,但我似乎无法理解为什么我没有得到它。

def listindex():
    li = ['a', 'e', 'a', 'd', 'b', 'a', 'e']
    for x in li:
        if x == 'a':
            print(li.index(x))

结果:

0
0
0

预期结果:

0
2
5

虽然它迭代了所有项目但我只得到第一项索引,为什么呢?即使它非常简单,也建议。

3 个答案:

答案 0 :(得分:6)

browser.executeScript( 'localStorage.setItem("groups", "[\\"lunch\\"]");'); 仅返回第一个元素的索引。来自docs

  

返回值为x的第一个项目列表中的索引。如果没有这样的项目,则会出错。

请改用enumerate。当您使用枚举进行迭代时,您可以在循环上访问元素及其索引:

index

答案 1 :(得分:1)

li = ['a', 'e', 'a', 'd', 'b', 'a', 'e']

使用列表理解:

[i for i, x in enumerate(li) if x=='a']

输出:[0, 2, 5]

答案 2 :(得分:0)

使用关键字enumerate(),这将生成一个从0到N的计数器。

for i, x in enumerate(li):

因此i将包含li的索引。