在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 = set(['b','e'])
1 个回答
24
没问题,这就是集合的用途。我要改变的一点是:
s = set(e[1] for e in l)
这样做可以提高可读性。注意,我还把列表推导式改成了生成器表达式;这样就不需要创建一个临时的列表了。