python-3.x - 如何在python中索引相同的项目?
问题描述
lst = [1,0,0,0,1,0,1,1]
x = lst[4]
print(lst.index(x))
最后一行打印 0。
如果我想返回原始索引为 4 的项目怎么办。有没有办法找到原始的,而不是列表中的等价元素?
编辑:为了清楚起见,我希望最后一行打印 4。
解决方案
如果列表的格式无关紧要,您可以尝试使用枚举类(生成器对象):
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]
. 如果您有任何其他问题,请发表评论,我会尽力回答。
推荐阅读
- java - 在正则表达式中拆分任意数量的特殊字符并给出数组大小
- python - 熊猫:分组后从内存中删除旧的DataFrame
- php - 数据库和 php 父 ID
- node.js - Angular cli 在 Windows 上的 Git Bash 终端中不起作用
- angular - Angular How call/instantiate a component from a regular typescript class
- ruby-on-rails - Rails Wicked PDF 错误日志(图像未呈现)
- r - XY Plotting column data grouped on other column
- php - phpUnit: Stop on Notice
- java - XML to CSV conversion using java, tag with colon problem
- javascript - Javascript在对象内推送数组