当前位置:  开发笔记 > 编程语言 > 正文

删除python列表中的重复项但记住索引

如何解决《删除python列表中的重复项但记住索引》经验,为你挑选了1个好方法。

如何删除列表中的重复项,保留项目的原始顺序并记住列表中任何项目的第一个索引?

例如,从[1, 1, 2, 3]收益中删除重复项,[1, 2, 3]但我需要记住索引[0, 2, 3].

我使用的是Python 2.7.



1> timgeb..:

我将稍微区别对待并使用一个OrderedDict事实,即list 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]

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有