寻找独特的元组

时间:2014-05-28 05:58:29

标签: python tuples

我想根据以下情况找到独特的元组:

这是我的数据:

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') 

是一样的。

我该怎么做?

1 个答案:

答案 0 :(得分:13)

将它们放入一个字典中,用你想要独特的部分键入。

uniq = {d[1:]:d for d in data}
uniq = uniq.values()

以上内容将返回非唯一的最后一个数据项。如果你想要第一个,你可以反转初始列表。

如果您在查找唯一商品后只需要使用部分数据,则可以轻松地将:d替换为例如:d[0]。在词典理解中{{1}}。