Python 集合操作
在Python中,集合(Set)是一种无序、可变、不重复的数据类型,用于存储不重复的元素。Python的集合类型提供了多种方法来操作集合,本文将详细介绍集合的常见操作。
创建集合
创建集合可以使用花括号{}
或者set()
函数。值得注意的是,如果使用花括号来创建空集合,将会得到一个空字典而不是集合。
# 使用花括号创建集合
set1 = {1, 2, 3, 4, 5}
print(set1)
# 使用set()函数创建集合
set2 = set([1, 2, 3, 4, 5])
print(set2)
# 创建空集合
empty_set = set()
print(empty_set)
运行结果为:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
set()
集合操作
添加元素
向集合中添加元素可以使用add()
方法,如果要添加的元素已经存在于集合中,则不会重复添加。
set3 = {1, 2, 3}
set3.add(4)
print(set3)
set3.add(3) # 3 已经存在于集合中
print(set3)
运行结果为:
{1, 2, 3, 4}
{1, 2, 3, 4}
删除元素
从集合中删除元素可以使用remove()
或discard()
方法,两者的区别在于如果要删除的元素不存在于集合中,remove()
方法会抛出KeyError
异常,而discard()
方法则不会。
set4 = {1, 2, 3, 4}
set4.remove(3)
print(set4)
set4.discard(5) # 5 不存在于集合中
print(set4)
运行结果为:
{1, 2, 4}
{1, 2, 4}
集合运算
Python中的集合类型支持并集、交集、差集、对称差等基本集合运算。
并集
两个集合的并集即包含两个集合中所有元素的集合。可以使用union()
方法或|
运算符来求两个集合的并集。
set5 = {1, 2, 3}
set6 = {3, 4, 5}
union_set1 = set5.union(set6)
print(union_set1)
union_set2 = set5 | set6
print(union_set2)
运行结果为:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
交集
两个集合的交集即包含两个集合中共同元素的集合。可以使用intersection()
方法或&
运算符来求两个集合的交集。
set7 = {1, 2, 3}
set8 = {3, 4, 5}
intersection_set1 = set7.intersection(set8)
print(intersection_set1)
intersection_set2 = set7 & set8
print(intersection_set2)
运行结果为:
{3}
{3}
差集
两个集合的差集即包含第一个集合中存在而第二个集合中不存在的元素的集合。可以使用difference()
方法或-
运算符来求两个集合的差集。
set9 = {1, 2, 3, 4}
set10 = {3, 4, 5}
difference_set1 = set9.difference(set10)
print(difference_set1)
difference_set2 = set9 - set10
print(difference_set2)
运行结果为:
{1, 2}
{1, 2}
对称差
两个集合的对称差即包含两个集合中不重合元素的集合。可以使用symmetric_difference()
方法或^
运算符来求两个集合的对称差。
set11 = {1, 2, 3}
set12 = {3, 4, 5}
symmetric_difference_set1 = set11.symmetric_difference(set12)
print(symmetric_difference_set1)
symmetric_difference_set2 = set11 ^ set12
print(symmetric_difference_set2)
运行结果为:
{1, 2, 4, 5}
{1, 2, 4, 5}
总结
本文介绍了Python中集合的创建方式以及常见的集合操作,包括添加元素、删除元素、集合运算等。集合类型在处理一些需要唯一元素且不需要顺序的数据时非常方便,可以帮助简化代码逻辑,提高效率。