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

首先在列表中找到重复的项目

如何解决《首先在列表中找到重复的项目》经验,为你挑选了1个好方法。

我有一个如下所示的列表:

[(1, 0.3), (3, 0.2), (3, 0.15), (1, 0.07), (1, 0.02), (2, 0.01)]

我想根据每个元组中的第一项保留此列表中首次发现的重复项:

[(1, 0.3), (3, 0.2), (2, 0.01)]

有没有一种有效的方法来做到这一点?



1> jbg..:

如果结果列表的顺序无关紧要,只要它包含每个元组的原始列表中的第一个条目:首先反转列表,然后传递它dict以删除重复项并保留每个键的最后一个条目(第一个在原始列表,因为它被颠倒了):

>>> items = [(1, 0.3), (3, 0.2), (3, 0.15), (1, 0.07), (1, 0.02), (2, 0.01)]
>>> list(dict(reversed(items)).items())
[(1, 0.3), (2, 0.01), (3, 0.2)]

如果结果列表的顺序很重要,请参阅Padraic的答案:)

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