|||
1 什么是集合?
集合是一个无序、不重复的元素的组合。因此它不支持索引、切片或其它类序列的操作。
包括:
- 可变集合(set)
- 不可变集合(frozenset)
2 集合的创建
- set(iterable)
- frozenset(iterable)
— iterable: 可迭代对象
# 创建空集合
- set()
- frozenset()
3 集合比较
4 集合关系运算
5 集合内建函数
5.1 面向所有集合的内建函数
#------------------------------------------------------------------------------------
判断包含与被包含关系(子集与超集) - issubset(), issuperset()
#------------------------------------------------------------------------------------
issubset() - 返回布尔值,判断Set2是否为Set1的子集。
Set1.issubset(Set2)
issuperset() - 返回布尔值,判断Set2是否为Set1的超集(超集(包含)是与子集(被包含)相对的那个集合)。
Set1.issuperset(Set2)
#-------------------------------------------------------------------------------------------------------------------------
求并集、交集、差集、对称差集 - union(), intersection(), difference(), symmetric_difference()
#-------------------------------------------------------------------------------------------------------------------------
union() - 返回Set1和Set2的并集。
Set1.union(Set2)
intersection() - 返回Set1和Set2的交集。
Set1.intersection(Set2)
difference() - 返回一个差集,Set1 - Set2。
Set1.difference(Set2)
symmetric_difference() - 返回Set1和Set2的对称差集。
Set1.symmetric_difference(Set2)
#-----------------------------------------------------
集合的浅复制 - copy() 对比:对象赋值
#-----------------------------------------------------
copy() - 返回Set1的浅复制集合。
Set1.copy()
对比:对象赋值
5.2 仅面向可变集合的内建函数
#------------------------------------------------------------------------------------------------------------------------------------
更新集合 - update(), intersection_update(), difference_update(), symmetric_difference_update()
#------------------------------------------------------------------------------------------------------------------------------------
update() - 将Set1更新为Set1和Set2的并集,直接修改Set1,无返回值。
Set1.update(Set2)
intersection_update() - 将Set1更新为Set1和Set2的交集,直接修改Set1,无返回值。
Set1.intersection_update(Set2)
difference_update() - 将Set1更新为Set1和Set2的差集,直接修改Set1,无返回值。
Set1.difference_update(Set2)
symmetric_difference_update() - 将Set1更新为Set1和Set2的对称差集,直接修改Set1,无返回值。
Set1.symmetric_difference_update(Set2)
#----------------------------------------------------------------------------------------------
删除集合的元素 - clear(), pop(), remove(), discard() 对比:del语句
#----------------------------------------------------------------------------------------------
clear() - 清空集合,将原先的集合变为空集合。无返回值。
Set1.clear()
pop() - 随机弹出集合中的一个元素,并返回该元素。修改原集合。若集合为空,则出现KeyError。
Set1.pop()
remove() - 移除集合中指定的元素。修改原集合,无返回值。若指定的元素并非原集合元素,则出现KeyError。
Set1.remove(obj)
discard() - 移除集合中指定的元素。修改原集合,无返回值。若指定的元素并非原集合元素,则什么也不做。
Set1.discard(obj)
#-----------------------------------------
向集合添加元素 - add()
#-----------------------------------------
add() - 向集合中添加一个指定元素,该元素必须可哈希,即可以是数字、字符串、元组,而不能是列表和字典。若该元素已存在于原集合,则无影响,不报错。无返回值,修改原集合。
Set1.add(obj)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 11:03
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社