4

有没有更好的方法在 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'])

4

1 回答 1

23

没关系,这就是套装的用途。我要改变的一件事是:

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

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

于 2009-08-03T11:24:26.400 回答