如何比较 python 中的两个列表,并在一个列表中写入相似的索引值,在另一个列表中写入不相似的值

How to compare two lists in python and write the similar index values in one list and non similar values in another list

考虑两个列表 a=[1,2,3], b=[1,4,5]。代码应该打印类似的值 c=[1] 并且代码应该打印 d=[2,3,4,5] 这表明不同的值

--完成--

你可以为此使用集合

a = [1,2,3]
b = [1,4,5]

c = list(set(a).intersection(b))
d = list(set(a).difference(b)) + list(set(b).difference(a))

intersection 查找共同元素,difference 查找不同元素。您必须以两种方式执行此操作,因为 difference 运算符基本上仅显示第一组中不在第二组中的元素。

下面给出了使用 和逻辑运算符的简单替代解决方案:

a = [1,2,3]
b = [1,4,5]

print([x for x in a if x in b])
print([x for x in set(a+b) if (x in a) ^ (x in b)])

set operation的解决方案已经有人给出了,这里不再赘述。