我有一个这样的清单:
$ mylist = [(u'nr',<object>,'string1'),(u'fm',<object>,'string2'),(u'nr',<object>,'string3')]
我想从该列表中获取nr
和fm
的唯一值(即,第一个元素没有重复的值)。
我一直在考虑使用set()
等获取唯一列表,我尝试了这个(来自另一个帖子):
$ unique = reduce(lambda l, x: l.append(x) or l if x not in l else l, mylist, [])
但这没有用。
被要求澄清:我想在最终结果中[&#39; nr&#39; fm&#39;]
答案 0 :(得分:1)
这将产生元组列表的唯一第一个值:
set(x[0] for x in mylist)
如果您想将其恢复到列表中:
list(set(x[0] for x in mylist))