我想根据以下情况找到唯一的元组:
这是我的数据:
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')
是一样的。
我该怎么做?
最佳答案
将它们放入一个字典中,以您希望独一无二的部分为键。
uniq = {d[1:]:d for d in data}
uniq = uniq.values()
以上将返回所有非唯一数据项中的最后一项。如果您想要第一个,则可以反转初始列表。
如果您只需要在找到唯一项后使用部分数据,您可以轻松地将 :d
替换为例如:d[0]
在字典理解中。
关于python - 寻找唯一的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23903819/