如何在python中比较两个列表,并在一个列表中写入相似的索引值,在另一个列表中写入不相似的值
考虑两个列表 a=[1,2,3],b=[1,4,5]。代码应该打印类似的值c=[1],代码应该打印显示不同值的d=[2,3,4,5]如何在python中比较两个列表,并在一个列表中写入相似的索引值,在另一个列表中写入不相似的值,python,python-3.x,list,string-comparison,Python,Python 3.x,List,String Comparison,考虑两个列表 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查找不同的元素。您必须以两种方式执
--已完成--您可以为此使用集合
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
查找不同的元素。您必须以两种方式执行此操作,因为差异
运算符基本上只显示第一个集合中不在第二个集合中的元素。下面给出了使用和逻辑运算符的简单替代解决方案:
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)])
另一个人已经给出了一个设置操作的解决方案,所以我不再重复了。@vicrobot:你能帮我解决你的问题吗?当你试图解决这个问题时,你在哪里卡住了?