Python求两个list的交集、并集、补集、对称差集的两种方法

简介: Python求两个list的交集、并集、补集、对称差集的两种方法

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

1、使用set集合运算符

a = [0,1,2,3,4]
b = [3,4,5,6,7,8,9]
list(set(a) & set(b))   # 使用  "&"  运算求a与b的交集,输出:[3, 4]
list(set(a) | set(b))   # 使用  "|"  运算求a与b的并集,输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(set(b) - set(a))   # 使用  "-"  运算求a与b的差(补)集: 求b中有而a中没有的元素,输出:[5, 6, 7, 8, 9]
list(set(a) - set(b))   # 使用  "-"  运算求a与b的差(补)集: 求a中有而b中没有的元素,输出: [0, 1, 2]
list(set(a) ^ set(b))   # 使用  "^"  运算求a与b的对称差集,输出:[0, 1, 2, 5, 6, 7, 8, 9]

结果:

求交集:     list(set(a) & set(b))  输出 ->  [3, 4]
求并集:     list(set(a) | set(b))  输出 ->  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
求差(补)集: list(set(b) - set(a))  输出 ->  [5, 6, 7, 8, 9]
求差(补)集: list(set(a) - set(b))  输出 ->  [0, 1, 2]
求对称差集: list(set(a) ^ set(b))  输出 ->  [0, 1, 2, 5, 6, 7, 8, 9]

2、 使用set集合的方法 (高效率)

a = [0,1,2,3,4]
b = [3,4,5,6,7,8,9]
print(list(set(a).intersection(set(b))))  # 使用 intersection 求a与b的交集,输出:[3, 4]
print(list(set(a).union(b))  )           # 使用 union 求a与b的并集,输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(set(b).difference(set(a))))    # 使用 difference 求a与b的差(补)集:求b中有而a中没有的元素,输出: [5, 6, 7, 8, 9]
print(list(set(a).difference(set(b))) )   # 使用 difference 求a与b的差(补)集:求a中有而b中没有的元素,输出:[5, 6, 7, 8, 9]
print(list(set(a).symmetric_difference(b)))   # 使用 symmetric_difference 求a与b的对称差集,输出:[0, 1, 2, 5, 6, 7, 8, 9]

结果:

[3, 4]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]
[0, 1, 2]
[0, 1, 2, 5, 6, 7, 8, 9]
目录
相关文章
|
1天前
|
Python
两个list集合合并成一个python教程 - 蓝易云
在这两种方法中,加号会创建一个新的列表,而extend方法则会在原地修改列表。
5 0
|
4天前
|
Python
【Python 基础】列表(list)和元组(tuple)有什么区别?
【5月更文挑战第6天】【Python 基础】列表(list)和元组(tuple)有什么区别?
|
4天前
|
开发者 Python
【亮剑】Python中`List.append()`方法不起作用的原因及解决方案
【4月更文挑战第30天】本文探讨了Python中`List.append()`方法不起作用的原因及解决方案。问题可能源于变量作用域、可变类型与不可变类型混淆、函数内的局部变量、错误的赋值操作或并发修改。解决方法包括检查变量、确保正确操作列表、使用`global`关键字、避免错误赋值和采用同步机制处理并发问题。理解这些问题对于编写健壮的Python代码至关重要。
|
4天前
|
存储 索引 Python
多数pythoneer只知有列表list却不知道python也有array数组
多数pythoneer只知有列表list却不知道python也有array数组
27 0
|
4天前
|
索引 容器
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
|
4天前
|
Python
python教程:二维列表(list)初始化
python教程:二维列表(list)初始化
10 0
|
4天前
|
索引 Python
Python标准数据类型-List(列表)
Python标准数据类型-List(列表)
44 1
|
4天前
|
存储 安全 Java
Python教程第3章 | 集合(List列表、Tuple元组、Dict字典、Set)
Python 列表、无序列表、字典、元组增删改查基本用法和注意事项
52 1
|
4天前
|
存储 数据可视化 索引
Python中List列表的妙用
Python中List列表的妙用
18 0
|
4天前
|
存储 索引 Python
Python中的基础数据结构:列表(List)详解
本文将深入探讨Python中的基础数据结构——列表(List),包括其创建、访问、修改、常用操作以及背后的原理。通过示例代码,帮助读者更好地理解和应用列表。
26 0
http://www.vxiaotou.com