是否可以以比我所做的更简洁(又称更短)的方式比较包含未知数量且具有相等元素的列表的列表?最好是单线!
如果不清楚我要做什么,请举个例子:
a = [1, 2, 3]
b = [4, 2, 1]
c = [7, 5, 1]
d = [a, b, c]
def multiCompList(lists):
final = [i for i in lists[0] if i in lists[1]]
for i in range(2, len(lists)):
final = [i for i in final if i in lists[i]]
return final
print(multiCompList(d))
我要做的是先检查第一和第二个列表是否包含相等的元素,然后将它们放在称为final的列表中。此后,检查这些元素是否可以在之后的列表中找到,并用其余的相等元素替换最终列表。 在这种情况下,结果为:[1]。
答案 0 :(得分:0)
一个班轮看起来像这样:
set.intersection(*[set(x) for x in d])
#set([1])