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

如何在Python中提取列表中的重复元组?

如何解决《如何在Python中提取列表中的重复元组?》经验,为你挑选了1个好方法。

我正在编写一个程序,我需要找到相同的日期...

我目前将日期存储在不同的日期和月份列表中,然后将zip它们存储到日期列表中......所以日期列表可能如下所示:

[(2,4),(4,18),(10,7)]

我的问题是我需要将重复的元组提取到另一个列表,而不是仅仅用一些set()左右来消除它们.

如果我的日期列表得到了[(2,3),(2,3),(4,8)]我需要(2,3)到一个新的列表.

或者,我可以将日期列表形成为a dictionary然后再将其分成项目,但我问是否有更简单的方法.有什么建议?



1> wim..:

您可以使用计数器执行此任务:

>>> from collections import Counter
>>> L = [(2,3),(2,3),(4,8)]
>>> [k for k,count in Counter(L).items() if count > 1]
[(2, 3)]

如果你想要所有的骰子,而不是每个骰子,那么使用计数和键.

如果您关心原始订购,请执行相同的操作,但使用的是OrderedCounter:

>>> from collections import Counter, OrderedDict
>>> class OrderedCounter(Counter, OrderedDict): 
...     pass

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