📜  Python集合Set(1)

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

Python集合(Set)

在Python中,集合(set)是一种无序、不可重复的数据类型,用于存储多个值。集合可以进行交集、并集、差集等操作,非常适合用于数据去重、计算交集等场景。

创建集合

可以使用大括号 {} 或者 set() 函数来创建集合。例如:

# 创建一个集合
s = {1, 2, 3}
print(s)  # 输出:{1, 2, 3}

# 使用 set() 函数创建一个集合
s = set([1, 2, 3])
print(s)  # 输出:{1, 2, 3}

注意,在创建空集合时,必须使用 set() 函数,而不能使用 {} 或者 set{},因为在 Python 中 {} 表示一个空字典。

集合操作
添加元素

可以使用 add() 方法向集合中添加元素,也可以使用 update() 方法添加多个元素。例如:

# 添加元素
s = {1, 2, 3}
s.add(4)
print(s)  # 输出:{1, 2, 3, 4}

# 添加多个元素
s.update([5, 6])
print(s)  # 输出:{1, 2, 3, 4, 5, 6}
删除元素

可以使用 remove() 方法或者 discard() 方法从集合中删除元素。如果要删除的元素不存在,remove() 方法会抛出 KeyError 异常,而 discard() 方法不会产生异常。例如:

# 删除元素
s = {1, 2, 3, 4, 5, 6}
s.remove(6)
print(s)  # 输出:{1, 2, 3, 4, 5}

# 删除不存在的元素
s.discard(7)
print(s)  # 输出:{1, 2, 3, 4, 5}
迭代集合

可以使用 for 循环来迭代集合中的元素。例如:

# 迭代集合
s = {1, 2, 3, 4, 5}
for x in s:
    print(x)  # 输出:1 2 3 4 5
判断元素是否存在于集合中

可以使用 in 或者 not in 运算符来判断一个元素是否存在于集合中。例如:

# 判断元素是否存在于集合中
s = {1, 2, 3, 4, 5}
print(3 in s)  # 输出:True
print(6 not in s)  # 输出:True
集合运算

可以对集合进行交集、并集、差集等运算,常用的集合运算如下表所示:

| 运算符 | 描述 | | --- | --- | | | | 取两个集合的并集 | | & | 取两个集合的交集 | | − | 取两个集合的差集 | | ^ | 取两个集合的对称差 |

例如:

s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}

# 取并集
print(s1 | s2)  # 输出:{1, 2, 3, 4, 5, 6}

# 取交集
print(s1 & s2)  # 输出:{3, 4}

# 取差集
print(s1 - s2)  # 输出:{1, 2}

# 取对称差
print(s1 ^ s2)  # 输出:{1, 2, 5, 6}
总结

Python 集合是一种无序、不可重复的数据类型,适用于数据去重、计算交集等场景。可以使用 {} 或者 set() 函数来创建集合,可以使用 add() 方法或者 update() 方法向集合中添加元素,可以使用 remove() 方法或者 discard() 方法从集合中删除元素,可以使用 for 循环来迭代集合中的元素,可以使用 in 或者 not in 运算符来判断一个元素是否存在于集合中,可以对集合进行交集、并集、差集等运算。