python - 在列表中查找项目索引

标签 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

虽然它遍历所有项目我只得到第一个项目索引,这是为什么呢?也建议即使它很简单。

最佳答案

index 仅返回第一个元素的索引。来自docs

Return the index in the list of the first item whose value is x. It is an error if there is no such item.

使用enumerate反而。当您使用 enumerate 进行迭代时,您可以在循环中访问元素及其索引:

>>> li = ['a', 'e', 'a', 'd', 'b', 'a', 'e']
>>> for i,element in enumerate(li):
...     if element == 'a':
...        print(i)
... 
0
2
5

关于python - 在列表中查找项目索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349774/

相关文章:

python - Pandas to_datetime 不适用于空值

c - 追加到数组末尾

c - 我应该在 C 和 C++ 中将临时变量声明带出循环吗?

c# - 单击按钮后继续在列表中添加项目

c# - 比较多个列表的大小(计数)

c# - 如何迭代两个集合?

javascript - 循环中的 jquery 动画返回相同的索引

python - 如何在Python中以编程方式启动appium服务器

for 循环后的 Python 语法错误(在解释器中)

python - 在输入时保持 Visual Studio (Python) 中的当前缩进?