在Python中,set
是一个无序的不重复元素序列。它支持一些基本的操作,如添加、删除元素以及集合之间的数学运算(如并集、交集等)。以下是一些常见的set
类型操作:
使用set()
构造函数或大括号{}
可以创建一个空集合。也可以通过将一个可迭代对象(如列表、元组等)传递给set()
构造函数来创建一个包含特定元素的集合。
# 创建空集合
s = set()
# 或者
s = {}
# 从列表创建集合
lst = [1, 2, 3, 4, 5]
s = set(lst)
使用add()
方法可以向集合中添加一个元素。如果元素已经存在于集合中,则不会进行任何操作。
s = {1, 2, 3}
s.add(4)
print(s) # 输出: {1, 2, 3, 4}
使用remove()
方法可以从集合中删除一个元素。如果元素不存在于集合中,则会引发一个KeyError
。
s = {1, 2, 3, 4}
s.remove(3)
print(s) # 输出: {1, 2, 4}
此外,还可以使用discard()
方法删除一个元素,但如果元素不存在于集合中,则不会进行任何操作。
s = {1, 2, 4}
s.discard(3) # 不会引发错误,但不会有任何效果
print(s) # 输出: {1, 2, 4}
Python中的集合支持多种数学运算,如并集、交集、差集和对称差集等。
* 并集:`union()`或`|`操作符
* 交集:`intersection()`或`&`操作符
* 差集:`difference()`或`-`操作符
* 对称差集:`symmetric_difference()`或`^`操作符
s1 = {1, 2, 3}
s2 = {2, 3, 4}
# 并集
s_union = s1.union(s2)
# 或者
s_union = s1 | s2
print(s_union) # 输出: {1, 2, 3, 4}
# 交集
s_intersect = s1.intersection(s2)
# 或者
s_intersect = s1 & s2
print(s_intersect) # 输出: {2, 3}
# 差集
s_diff = s1.difference(s2)
# 或者
s_diff = s1 - s2
print(s_diff) # 输出: {1}
# 对称差集
s_sym_diff = s1.symmetric_difference(s2)
# 或者
s_sym_diff = s1 ^ s2
print(s_sym_diff) # 输出: {1, 4}
这些是Python中set
类型的一些基本操作。请注意,集合是无序的,因此它们的元素没有特定的顺序。