如何删除列表中的重复项,保留项目的原始顺序并记住列表中任何项目的第一个索引?
例如,删除重复项[1, 1, 2, 3]
yields [1, 2, 3]
但我需要记住索引[0, 2, 3]
.
我正在使用Python 2.7。
我会以不同的方式解决这个问题并使用OrderedDict
以及列表的事实index
方法将返回项目的最低索引。
>>> from collections import OrderedDict
>>> lst = [1, 1, 2, 3]
>>> d = OrderedDict((x, lst.index(x)) for x in lst)
>>> d
OrderedDict([(1, 0), (2, 2), (3, 3)]
如果您需要单独的列表(删除重复项)和索引,您可以简单地发出:
>>> d.keys()
[1, 2, 3]
>>> d.values()
[0, 2, 3]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)