我想根据以下情况找到独特的元组:
这是我的数据:
data = [
(1L, u'ASN', u'Mon', u'15:15:00'),
(2L, u'ASN', u'Tue', u'15:15:00'),
(3L, u'ASN', u'Wed', u'15:15:00'),
(5L, u'ASN', u'Fri', u'15:15:00'),
(7L, u'ASN', u'Sun', u'15:15:00'),
(15L, u'ASN', 'Reminder', '2014-05-26 15:29'),
(16L, u'ASN', u'Mon', u'15:15:00'),
(17L, u'ASN', u'Tue', u'15:15:00'),
(18L, u'ASN', u'Wed', u'15:15:00'),
(19L, u'ASN', u'Fri', u'15:15:00')
]
我想找到忽略列表中第一个元素的唯一元组,即
(1L, u'ASN', u'Mon', u'15:15:00'),
(2L, u'ASN', u'Mon', u'15:15:00')
是一样的。
我该怎么做?
答案 0 :(得分:13)
将它们放入一个字典中,用你想要独特的部分键入。
uniq = {d[1:]:d for d in data}
uniq = uniq.values()
以上内容将返回非唯一的最后一个数据项。如果你想要第一个,你可以反转初始列表。
如果您在查找唯一商品后只需要使用部分数据,则可以轻松地将:d
替换为例如:d[0]
。在词典理解中{{1}}。