本文共 1539 字,大约阅读时间需要 5 分钟。
集合(set)是Python中的一种数据结构,它是一个无序且不允许重复元素的元素集合。集合在数据处理和操作中非常有用,特别是在需要去重、快速查找和批量操作时。
集合在Python中可以通过两种方式创建:
{value1, value2, ...}
创建非空集合。set()
函数创建集合,set()
函数可以接收多个参数,或者接收一个可迭代对象(如列表、元组、字典等)。需要注意的是,创建空集合时,必须使用set()
函数而不是大括号{}
,因为大括号在Python中用于创建空字典。
示例:
# 创建非空集合my_set = {1, 2, 3}# 创建空集合empty_set = set()
集合支持通过add()
方法添加单个元素,或者使用update()
方法批量添加多个元素。
示例:
# 添加单个元素my_set.add(4)# 批量添加多个元素my_set.update([5, 6, 7])
集合支持通过remove()
方法移除指定元素,或者使用discard()
方法来安全移除指定元素(即使元素不存在也不报错)。
示例:
# 移除指定元素my_set.remove(3)my_set.discard(3) # 如果元素不存在也不报错
集合还提供了许多其他方法,包括:
clear()
:清空集合。copy()
:复制集合。pop()
:随机移除一个元素。union()
:返回两个集合的并集。intersection()
:返回两个集合的交集。difference()
:返回两个集合的差集。symmetric_difference()
:返回两个集合的对称差集。下面是一个完整的方法列表:
方法 | 描述 |
---|---|
add() | 添加一个元素到集合中。 |
clear() | 移除集合中的所有元素。 |
copy() | 创建一个新集合的拷贝。 |
pop() | 随机移除集合中的一个元素,并返回它。 |
remove() | 移除集合中的一个指定元素。如果元素不存在会抛出错误。 |
discard() | 移除集合中的一个指定元素。如果元素不存在不会抛出错误。 |
update() | 将给定的可迭代对象中的元素添加到集合中。如果已存在则忽略。 |
union() | 返回两个集合的并集。 |
intersection() | 返回两个集合的交集。 |
difference() | 返回两个集合的差集。 |
symmetric_difference() | 返回两个集合的对称差集。 |
issubset() | 判断该集合是否是另一个集合的子集。 |
issuperset() | 判断该集合是否是另一个集合的超集。 |
superset() | 判断另一个集合是否是该集合的子集。 |
subset() | 判断另一个集合是否是该集合的子集。 |
给定一个包含重复元素的无序列表:
nums = [5, 8, 7, 6, 4, 1, 3, 5, 1, 8, 4]
目标:去重并按降序排序。
方法一:使用集合和内置sort方法
nums2 = list(set(nums))nums2.sort(reverse=True)print(nums2)
方法二:使用sorted内置函数
print(sorted(list(set(nums)), reverse=True))
集合在Python中非常灵活,可以与其他数据结构和函数结合使用。例如:
通过合理使用集合,可以显著提升代码的性能和可读性。
转载地址:http://luovz.baihongyu.com/