集合是一种无序且不重复的数据类型。集合中的元素都是唯一的,这意味着不能有重复的元素。集合支持多种操作,如并集、交集和差集等。
创建集合
你可以通过几种不同的方式来创建一个集合:
- 使用大括号
{}
创建集合:
my_set = {1, 2, 3}
注意:如果你尝试使用大括号创建一个空集合,Python 会将其视为字典。因此,要创建一个空集合,请使用 set()
函数:
empty_set = set()
- 使用
set()
函数从其他可迭代对象创建集合:
another_set = set([1, 2, 3])
添加元素
你可以使用 add()
方法向集合中添加单个元素:
my_set.add(4)
如果你想添加多个元素,可以使用 update()
方法:
my_set.update([5, 6, 7])
删除元素
集合提供了几种删除元素的方法:
- 使用
remove()
方法删除指定的元素。如果元素不存在,它将引发KeyError
异常:
my_set.remove(4)
- 使用
discard()
方法删除指定的元素。如果元素不存在,程序不会报错:
my_set.discard(5)
- 使用
pop()
方法随机删除并返回集合中的一个元素:
element_removed = my_set.pop()
集合操作
集合支持一些内置的操作,包括并集、交集、差集和对称差集。
并集
并集是两个集合的所有元素的组合。你可以使用 |
操作符或 union()
方法来计算两个集合的并集:
set1 = {1, 2, 3} set2 = {3, 4, 5} union_set = set1 | set2 # 或者 union_set = set1.union(set2)
交集
交集是两个集合中共有的元素。你可以使用 &
操作符或 intersection()
方法来计算两个集合的交集:
intersection_set = set1 & set2 # 或者 intersection_set = set1.intersection(set2)
差集
差集是第一个集合中有但第二个集合中没有的元素。你可以使用 -
操作符或 difference()
方法来计算两个集合的差集:
difference_set = set1 - set2 # 或者 difference_set = set1.difference(set2)
对称差集
对称差集是两个集合中不共有的元素。你可以使用 ^
操作符或 symmetric_difference()
方法来计算两个集合的对称差集:
symmetric_difference_set = set1 ^ set2 # 或者 symmetric_difference_set = set1.symmetric_difference(set2)
集合推导式
集合推导式与列表推导式类似,但是结果是一个集合而不是列表。例如:
squared_odds = {x**2 for x in range(10) if x % 2 == 1}
集合方法
集合有许多内置方法,这里列出一些常用的方法:
issubset(other)
:判断当前集合是否为另一个集合的子集。issuperset(other)
:判断当前集合是否为另一个集合的超集。isdisjoint(other)
:判断两个集合是否有公共元素,如果没有则返回True
。clear()
:清空集合中的所有元素。copy()
:返回集合的一个浅拷贝。
以上就是 Python 中集合的一些基本概念和操作。集合在处理唯一性数据时非常有用,同时提供了丰富的操作方法,使得数据处理更加高效和简洁。