📜  Python集合方法(1)

📅  最后修改于: 2023-12-03 15:34:32.748000             🧑  作者: Mango

Python集合方法

Python中的集合(set)是一种无序、不重复的数据类型,它支持一些常用的方法操作。本文将介绍Python中集合的常用方法。

创建集合

可以使用大括号 {} 或者 set() 函数来创建一个空集合,也可以在大括号中添加元素来创建一个非空集合。

# 创建空集合
empty_set = set()
empty_set_2 = {}

# 创建非空集合
s1 = {1, 2, 3}
s2 = set([3, 4, 5])
s3 = set((4, 5, 6))
添加和删除元素

集合支持添加元素的操作,可以使用 add() 方法实现添加一个元素,如果添加的元素已存在于集合中则不会进行添加。

s = {1, 2, 3}
s.add(4)
s.add(3)  # 不会添加
print(s)  # {1, 2, 3, 4}

可以使用 update() 方法来添加多个元素,它可以接受一个列表或者其他集合作为参数。

s = {1, 2, 3}
s.update([3, 4, 5])
s.update((6, 7, 8))
print(s)  # {1, 2, 3, 4, 5, 6, 7, 8}

可以使用 remove() 或者 discard() 方法来删除元素。

s = {1, 2, 3}
s.remove(2)
s.discard(3)
s.discard(4)  # 不会出错
print(s)  # {1}
集合操作

集合支持一些常见的集合操作符,如并集、交集、差集、对称差集等,也支持相应的方法操作。

s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print(s1 | s2)  # {1, 2, 3, 4},并集
print(s1.union(s2))  # {1, 2, 3, 4},并集

print(s1 & s2)  # {2, 3},交集
print(s1.intersection(s2))  # {2, 3},交集

print(s1 - s2)  # {1},差集
print(s1.difference(s2))  # {1},差集

print(s1 ^ s2)  # {1, 4},对称差集
print(s1.symmetric_difference(s2))  # {1, 4},对称差集
子集和超集

集合的子集和超集关系可以使用 <> 运算符或者相应的方法来判断。

s1 = set([1, 2])
s2 = set([1, 2, 3])
print(s1 < s2)  # True,s1 是 s2 的子集
print(s1.issubset(s2))  # True,s1 是 s2 的子集

print(s2 > s1)  # True,s2 是 s1 的超集
print(s2.issuperset(s1))  # True,s2 是 s1 的超集
集合拷贝

使用 copy() 方法可以拷贝一个集合,改变原始集合不影响拷贝出来的集合。

s1 = set([1, 2])
s2 = s1.copy()
s1.add(3)
print(s1)  # {1, 2, 3}
print(s2)  # {1, 2},s2 不受 s1 的影响
清空集合

可以使用 clear() 方法清空一个集合。

s = set([1, 2])
s.clear()
print(s)  # set()

总结

本文介绍了Python中常用的集合方法,包括创建集合、添加和删除元素、集合操作、子集和超集、集合拷贝以及清空集合等操作。集合是处理一些无序、不重复的数据时非常方便的一种数据类型,它的灵活性可以满足许多实际应用场景。