Python集合类型
在Python中,集合(set)是一个无序的、不重复的元素序列,它的主要作用是进行成员关系测试和消除重复元素,集合对象还支持像并集、交集、差集和对称差等数学运算。
1、创建集合
要创建一个集合,可以使用大括号 {}
或者 set()
函数,注意:创建一个空集合必须用 set()
而不是 {}
,因为 {}
是用来创建一个空字典的。
s1 = {1, 2, 3} s2 = set([1, 2, 3])
2、基本操作
添加元素:使用 add()
方法向集合中添加一个元素,如果添加的元素已经存在于集合中,那么该操作不会有任何效果。
s = {1, 2, 3} s.add(4) print(s) 输出:{1, 2, 3, 4}
删除元素:使用 remove()
方法从集合中移除一个元素,如果集合中不存在这个元素,会抛出一个异常。
s = {1, 2, 3} s.remove(2) print(s) 输出:{1, 3}
清空集合:使用 clear()
方法清空集合中的所有元素。
s = {1, 2, 3} s.clear() print(s) 输出:set()
判断元素是否在集合中:使用 in
关键字判断一个元素是否在集合中,注意:in
关键字不能用于判断一个元素是否在一个列表或元组中。
s = {1, 2, 3} print(1 in s) 输出:True print(4 in s) 输出:False
3、集合运算
Python提供了一些内置的方法来进行集合之间的运算,如并集、交集、差集和对称差,这些方法返回一个新的集合对象。
并集:使用 union()
方法或 |
运算符计算两个集合的并集,并集是包含所有唯一元素的集合。
s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 | s2) 输出:{1, 2, 3, 4}
交集:使用 intersection()
方法或 &
运算符计算两个集合的交集,交集是包含所有共有元素的集合。
s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 & s2) 输出:{2, 3}
差集:使用 difference()
方法或 -
运算符计算两个集合的差集,差集是包含所有属于第一个集合但不属于第二个集合的元素的集合。
s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 s2) 输出:{1}
对称差:使用 symmetric_difference()
方法或 ^
运算符计算两个集合的对称差,对称差是包含所有属于任一集合但不属于另一个集合的元素的集合。
s1 = {1, 2, 3} s2 = {2, 3, 4} print(s1 ^ s2) 输出:{1, 4}
4、Python集合类型的应用场景
去重:当需要从一个序列中去除重复的元素时,可以使用集合来实现,从一个列表中获取不重复的元素列表。
lst = [1, 2, 2, 3, 4, 4] unique_lst = list(set(lst)) print(unique_lst) 输出:[1, 2, 3, 4]
成员关系测试:当需要检查一个元素是否在一个序列中时,可以使用集合的成员关系测试来实现,从一个列表中查找是否存在某个元素。
lst = [1, 2, 3, 4] print(1 in set(lst)) 输出:True print(5 in set(lst)) 输出:False
相关问题与解答:
问题1:Python中的列表和元组是否可以作为集合的元素?为什么?
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/237261.html