python学习17集合
set
1. 定义:跟数学中的集合概念一致,是一个无序的不重复元素序列
2. 创建
(1) 通过set关键字创建
Sa=[1,2,3,4]
Sb=set(sa)
(2) 通过大括号{}
Sc={1,2,3,4}
3. 集合操作
(1) In操作
(2) 遍历:
Sa={(1,2,3),(4,5,6),(‘a’,’b’,’c’)}
for i,j,k in sa:
print(i,j,k)
(3) 集合的生成式
Sa={1,2,3,4,5}
Sb={I for I in sa}
Print(sb)
(4) Len:长度,即元素个数
(5) Max:最大值
(6) Add:向集合中添加元素
update(x):x可以有多个,用逗号分开
S={2,55,66,88}
s.add(77)
(7) clear:清空
(8)remove:删除,若删除的元素不在集合中,报错
(9)discard:删除,不在集合中,也不报错
(10)pop:弹出集合的一个内容,删除的内容是随机的
4. 集合的数学知识
(1) 交
S1={1,2,3,4,5}
S2={4,5}
S3=s1.intersection(s2)
(2)并
S3=s1.union(s2)
(3) 差
S3=s1.difference(s2)
S3=s1-s2
5. 冰冻集合 frozenset
不允许修改的集合
Sb=frozenset(Sa)
Print(sb)
6. 两个集合间的运算
a = set('abracadabra')
b = set('alacazam')
c=a - b # 集合a中包含而集合b中不包含的元素
d=a | b # 集合a或b中包含的所有元素
e=a & b # 集合a和b中都包含了的元素
f=a ^ b # 不同时包含于a和b的元素
7. 列表和集合支持集合推导式
a = {x for x in 'abracadabra' if x not in 'abc'}
print(a) #{'r', 'd'}
8. 集合内置方法完整列表
集合内置方法完整列表
方法 描述
add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素

浙公网安备 33010602011771号