两个集合找出相同和不同元素?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个集合找出相同和不同元素?相关的知识,希望对你有一定的参考价值。

有A、B两个集合,各有元素若干(比如说EXCEL中的两列数据)将这些元素分为三类:A有B无、A有B有、A无B有。如果两个集合的元素数量很多,有什么好的办法?或者帮我处理一下也行。2604989745@qq.com


可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。

list1 = [1,2,3,4,5]
list2 = [4,5,6,7,8]
print [l for l in list1 if l in list2]
# [4,5]

如果每一个列表中均没有重复的元素,那么还有另外一种更好的办法。首先把两个list转换成set,然后对两个set取交集,即可得到两个list的重复元素。

set1 = set(list1)
set2 = set(list2)
print set1 & set 2
# 4,5





参考技术A A有B无:=IF(COUNTIF(B2:B10,A2)=0,A2,"")&IF(COUNTIF(B2:B10,A3)=0,A3,"")&IF(COUNTIF(B2:B10,A4)=0,A4,"")&IF(COUNTIF(B2:B10,A5)=0,A5,"")&IF(COUNTIF(B2:B10,A6)=0,A6,"")&IF(COUNTIF(B2:B10,A7)=0,A7,"")&IF(COUNTIF(B2:B10,A8)=0,A8,"")
A有B有:=IF(COUNTIF(B2:B10,A2)>0,A2,"")&IF(COUNTIF(B2:B10,A3)>0,A3,"")&IF(COUNTIF(B2:B10,A4)>0,A4,"")&IF(COUNTIF(B2:B10,A5)>0,A5,"")&IF(COUNTIF(B2:B10,A6)>0,A6,"")&IF(COUNTIF(B2:B10,A7)>0,A7,"")&IF(COUNTIF(B2:B10,A8)>0,A8,"")
A无B有:=IF(COUNTIF(A2:A8,B2)=0,B2,"")&IF(COUNTIF(A2:A8,B3)=0,B3,"")&IF(COUNTIF(A2:A8,B4)=0,B4,"")&IF(COUNTIF(A2:A8,B5)=0,B5,"")&IF(COUNTIF(A2:A8,B6)=0,B6,"")&IF(COUNTIF(A2:A8,B7)=0,B7,"")&IF(COUNTIF(A2:A8,B8)=0,B8,"")&IF(COUNTIF(A2:A8,B9)=0,B9,"")&IF(COUNTIF(A2:A8,B10)=0,B10,"")
Excel文件已发到你邮箱。本回答被提问者采纳

给定两个列表,怎么找出他们相同的元素和不同的元素?

 

list1 = [1,2,3]
list2 = [3,4,5]
set1 = set(list1)
set2 = set(list2)
print(set1 & set2)
print(set1 ^ set2)

以上是关于两个集合找出相同和不同元素?的主要内容,如果未能解决你的问题,请参考以下文章

Java高效找出两个大数据量List集合中的不同元素

js数组方法——找出两数组中不相同的元素的集合

高效的找出两个List中的不同元素

集合中有相同元素 元素和怎样处理

两个字符串数组A和B,寻找相同元素的方法

从两个List集合里找到相同部分和不同部分