【python】多个list取交集、并集、异或、差集
for循环, torch、set
·
方法一:for循环
优点:使用简单
缺点:运行效率比较慢
方法二:使用torch的运算规则
优点:运行效率高
缺点:只能处理同样长度的tensor
import torch
a=torch.tensor([0,1,0,1,0])
b=torch.tensor([1,0,1,1,1])
print(a|b) #并集
print(a&b) #交集
print(a^b) #异或集
方法三:基本数据结构set集合(推荐)
优点:运算效率高,对长度无要求
缺点:两个list中不能够含有重复的元素,set会去重
a=[1,2,3]
b=[1,2,6,9,12]
print(set(a)&set(b)) #交集
print(set(a)|set(b)) #并集
print(set(a)^set(b)) #异或,就是两个集合去掉交集的那部分
print(set(a)-set(b)) #差集,就是a去掉b中元素剩下的那部分
更多推荐
已为社区贡献6条内容
所有评论(0)