首页 > 解决方案 > 如何在python中索引相同的项目?

问题描述

lst = [1,0,0,0,1,0,1,1]

x = lst[4]

print(lst.index(x))

最后一行打印 0。

如果我想返回原始索引为 4 的项目怎么办。有没有办法找到原始的,而不是列表中的等价元素?

编辑:为了清楚起见,我希望最后一行打印 4。

标签: python-3.xindexing

解决方案


如果列表的格式无关紧要,您可以尝试使用枚举类(生成器对象):

lst = [x for x in enumerate((1,0,0,0,1,0,1,1))]
x = lst[4]
lst.index(x) # This should return 4 rather than 0.

编辑:lst.index(x)您可以这样做,而不是获取索引,x[0]这也将返回 4。

唯一的问题是您将不得不对代码进行一些更改。如果您尝试打印 x,结果将是[4, 1]. 如果您想简单地收集值,则必须打印x[1]. enumerate 类是一个生成器对象,它在迭代时会产生一个[index, value]. 如果您有任何其他问题,请发表评论,我会尽力回答。


推荐阅读