使用时是否有一种优雅或 Pythonic 的方式来排除包含重复值的条目zip
?
举个例子:
>>> list1 = [0, 1]
>>> list2 = [0, 2]
>>> zip(list1, list2)
[(0, 0), (1, 2)]
我想只有第二个元素[(1, 2)]
。目前,我做
[x for x in zip(list1, list2) if len(set(x)) == len(x)]
但这感觉有点乏味。有一个更好的方法吗?
编辑:我如何将其扩展到一般情况下,其中有两个以上的列表?
>>> list1 = [0, 1]
>>> list2 = [0, 2]
>>> list3 = [0, 3]
>>> ...
>>> zip(list1, list2, list3, ...)
如果任何条目包含任何重复值,则应将其丢弃(并非元组中的每个值都必须相等)。