我想找到这个列表中偶数的索引。

messy = [5, 2, 8, 1, 3]
y = [x for x in messy if x%2==0]
f = y[0]
g = y[1]
print(f, g)
>>> 2 8
z = messy.index(f)
zz = messy.index(g)
print(z)
>>> 1

print(y)输出[2,8]而这不在列表中,这就是为什么我不能messy.index(y)
我有点困惑。有什么帮助吗?

最佳答案

当列表中有两个或多个相同的值元素时,.index方法将失败。相反,您可以通过枚举列表并使用以下索引来简化

even_indices = [i for i, elem in enumerate(messy)
                  if elem % 2 == 0]

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

10-09 03:23