我想在我的所有列表之间获取所有专有元素。因此,如果我有 3 个列表,例如:
list1 = [1, 3, 2]
list2 = ["a", 1, 3]
list3 = [2, 0]
我的输出应该是:
['a', 0]
我尝试对所有列表进行对称差分,例如:
set(list1) ^ set(list2) ^ set(list3)
但这并不好。
我也试过:
def exclusive(*lista):
excl = set(lista[0])
for idx in range(len(lista)):
excl ^= set(lista[idx])
return excl
这与第一种方法的工作原理相同,但它不会产生我想要的东西。
然后我试了一下(set(list1) ^ set(list2)) ^ (set(list2) ^ (set(list3))
,发现和我第一次试的不太一样。
编辑:
我以 3 个列表为例,但函数采用未定义数量的参数