我正在编写一个程序,我需要找到相同的日期...
我目前将日期存储在不同的日期和月份列表中,然后将zip
它们存储到日期列表中......所以日期列表可能如下所示:
[(2,4),(4,18),(10,7)]
我的问题是我需要将重复的元组提取到另一个列表,而不是仅仅用一些set()
左右来消除它们.
如果我的日期列表得到了[(2,3),(2,3),(4,8)]
我需要(2,3)
到一个新的列表.
或者,我可以将日期列表形成为a dictionary
然后再将其分成项目,但我问是否有更简单的方法.有什么建议?
您可以使用计数器执行此任务:
>>> 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