在Python列表中查找元组中的唯一元素

5 投票
1 回答
9207 浏览
提问于 2025-04-15 13:20

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

这样做可以提高可读性。注意,我还把列表推导式改成了生成器表达式;这样就不需要创建一个临时的列表了。

撰写回答