Python培训
400-996-5531
集合(set)是一个无序不重复元素的序列。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
# 集合的定义 set1 = set() #定义一个空的集合 set2 = {1,2,3} # 增加一个元素 set1.add(5) #增加多个: set1.update([5,6,7,8]) #删除某个值set1.remove(1) #查:无法通过下标索引 #改:不可变类型无法修改元素 a={10,20,30} b={20,50} print(a - b) # a和b的差集 {10,30}print(a | b) # a和b的并集 {10, 20, 30, 50} print(a & b) # a和b的交集 {20} print(a ^ b) # a和b中不同时存在的元素 {50, 10, 30}
集合的遍历: 1.普通序列的遍历 for 变量 in 集合: 使用变量 2.多级集合 集合 = {(值,值..),(值,值..)。。。} for 变量1,变量2 in 集合: 使用变量1和变量2
集合的序列函数:
len() 计算集合的长度
max()获取集合中的最大值
min() 获取集合中的最小值
set() 创建空集合或者将其他数据转换为集合
集合中的方法:
add -- 增加集合元素 ame = {'d', 's'} ame.add('d') ame 返回结果:{'d', 's'} ame.add('sd') ame返回结果:{'sd', 'd', 's'}
update--更新已有集合
name = {'sd', 'd', 's'} ame.update('df') ame 返回结果:{'sd', 'd', 'f', 's'}
remove--移除指定集合元素
name = {'sd','d','s'} ame.remove('s') 返回结果:name {'sd', 'd'}
discard--移除元素
name = {'sd', 'd', 's'} ame.discard('s') 返回结果:name {'sd', 'd'} # remove移除非成员值会报错,discard移除非成员值,啥也不错!
clear--清空集合元素
name = {'d', 's'} ame.clear() ame 返回结果:{}
copy--浅拷贝
name = {'sd', 'd', 's'} li = name.copy() 返回结果:li {'sd', 'd', 's'}
difference -- 求差集
name.difference(li) set() >>> name.difference() {'sd', 'd', 's'}
union--并集,创建新的对象
name = {'sd', 'd', 's'} li = {'s', 'd','h'} ame.union(li) 返回结果:{'h', 's', 'd', 'sd'}
difference_update---删除当前set中的所有包含在 new set 里的元素
li = ('s', 'd') ame = {'sd', 'd', 's'} ame.difference_update(li) ame 返回结果:{'sd'}
intersection--取交集,建立新的set集合
li = ('s', 'd') ame = {'sd', 'd', 's'} ame.intersection(li) 返回结果:{'d', 's'}
intersection_update--取交集,更新原来的set集合
li = ('s', 'd') ame = {'sd', 'd', 's'} ame.intersection_update(li) 返回结果:{'d', 's'}
isdisjoint--判断没有交集,返回True,否则,返回False
li = {'s', 'd'} ame = {'sd', 'd', 's'} ame.isdisjoint(li)
issubset--判断是否是子集
li = {'s', 'd'} ame = {'sd', 'd', 's'} ame.issubset(li) #判断name是不是li的子集 返回结果:Falseli.issubset(name) #判断li是不是name的子集 返回结果:True
issuperset--判断是否是父集
li = {'s', 'd'} ame = {'sd', 'd', 's'} ame.issuperset(li) #判断name是不是li的父集 返回结果:True li.issuperset(name) #判断li是不是name的父集 返回结果:False
pop--移除集合元素
name = {'sd', 'd', 's'} ame.pop() 返回结果:'sd' #同一个集合,删除集合元素的顺序固定 se1 = {'a','s','sb'}se1.pop() 返回结果:'sb'
symmetric_difference--去两个集合的差集,建立新的set集合对象
name = {'sd', 'd', 's'} li = {'s', 'd'} ame.symmetric_difference(li) 返回结果:{'sd'}
symmetric_difference_update--去两个集合的差集,更新原来的集合对象
name = {'sd', 'd', 's'} li = {'s', 'd'} ame.symmetric_difference_update(li) 返回结果:{'sd'}
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved