当我们需要对一组数据进行去重、集合运算等操作时,可以使用 Python 中的“集合”(Set)。本文将对 Python 中的集合(Set)数据类型进行详细讲解。
什么是 Set?
Python 的“集合”(Set)是无序的、不重复的集合数据类型。集合类似于列表(list)或元组(tuple),但它们是不同的数据类型。列表和元组中的元素是有序并可以重复;而集合中的元素是无序的并且必须是唯一的。这意味着,列表和元组中可以有重复的元素,而集合中不允许存在重复的元素。
我们可以使用 {}
或 set()
函数来创建 Set。创建空集合时需要使用 set()
函数而不是 {}
:
# 创建集合
set1 = {1, 2, 3, 4, 5}
set2 = set([1, 2, 3, 4, 5])
# 创建空集合
set3 = set()
Set 常用操作
添加元素
我们可以使用 add()
方法添加单个元素,或使用 update()
方法一次添加多个元素:
# 添加单个元素
set1.add(6)
# 添加多个元素
set1.update([6, 7, 8])
print(set1) # {1, 2, 3, 4, 5, 6, 7, 8}
删除元素
我们可以使用 remove()
或 discard()
方法删除集合中的元素。它们的区别在于,如果删除一个不存在的元素,remove()
方法会抛出 KeyError 异常,而 discard()
方法不会抛出异常:
set1.remove(6)
set1.discard(7)
print(set1) # {1, 2, 3, 4, 5, 8}
确定集合的大小
我们可以使用 len()
函数来确定集合包含的元素个数:
print(len(set1)) # 6
判断元素是否在集合中
我们可以使用 in
或 not in
关键字来判断一个元素是否在集合中:
print(2 in set1) # True
print(7 not in set1) # True
集合运算
我们可以使用数学上的集合运算,如并集、交集、差集、对称差分等。
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 并集
print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7, 8}
# 交集
print(set1 & set2) # {4, 5}
# 差集
print(set1 - set2) # {1, 2, 3}
# 对称差分
print(set1 ^ set2) # {1, 2, 3, 6, 7, 8}
Set 示例
去除列表中重复的元素
lst = [1, 2, 3, 4, 3, 2, 1]
set1 = set(lst)
new_lst = list(set1)
print(new_lst) # [1, 2, 3, 4]
统计一段文本中出现的不同字符数
text = "This is a test text."
text_set = set(text)
print(len(text_set)) # 12
以上是 Python 中集合(Set)数据类型的详细讲解,希望本文能够帮助您更好地理解和使用它们。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 数据类型–集合set - Python技术站