2009-08-03 178 views
3

有没有更好的方法在python中做到这一点,或者更确切地说:这是一个好办法吗?在python列表中查找元组中的唯一元素

x = ('a', 'b', 'c') 
y = ('d', 'e', 'f') 
z = ('g', 'e', 'i') 

l = [x, y, z] 

s = set([e for (_, e, _) in l]) 

我看起来有点丑,但是做什么,我需要不需要编写复杂的 “get_unique_elements_from_tuple_list” 功能...;)

编辑:预计S的值被设置([ 'B', 'E' ])

+0

你能解释一下你想用定义而不是一个例子吗? – flybywire 2009-08-03 11:19:27

回答

22

这很好,那是什么套。我会改变的一件事是:

s = set(e[1] for e in l) 

,因为它增强了可读性。请注意,我也将列表理解转换为生成器表达式;无需创建临时列表。

相关问题