Python全栈开发【第六篇】:集合

集合的定义

由不同元素组成的集合,集合中是一组无序排列的可hash值,集合中元素必须是不可变类型,可以作为字典的key。

定义集合的方式

第一种方式
s = {1,"hello",2,3,4}
第二种方式
s = set(['hello','world'])

集合的内置方法

定义两个列表:
python = ['lcg','swd','zjw','gfe']
linux = ['lcg','zjw']

常用操作:

列表转换成集合:
ps = set(python)
ls = set(linux)

列表转换成集合:

ps = set(python)
ls = set(linux)
ps.add('kji') # 更新一个值
ps.update(['wq','reg']) # 更新多个值,包括:元组、列表等可迭代类型
ps.clear() # 清空
ps.pop() # 随机删除元素
ps.remove() # 删除指定元素,如果元素不存在会报错
ps.discard() # 删除指定元素,元素不存在不会报错
print(ps.intersection(ls)) # 多个集合的交集,相当于"ps&ls"
print(ps.union(ls)) # 多个集合的并集,相当于"ps|ls"
print('差集',ps.difference(ls))) # 多个集合的并集,相当于"ps-ls"
print('差集',ls.difference(ps))) # 多个集合的并集,相当于"ls-ps"

补充操作:

print('交叉补集',ps.symmetric_difference(ls))  # 交叉补集,相当于"ps^ls"
ps.difference_update(ls) # ps-ls后赋值给ps,相当于ps=ps-ls
ps.isdisjoint(ls) # 如果没有交集,返回True;如果有交集,返回False
ls.issubset(ps) # ls是否ps的子集,返回True或False,相当于ps>=ls
ps.issuperset(ls) # ps是否ls的父集,返回True或False,相当于ps>=ls
s = frozenset('hello') # 定义不可变集合,无法添加、删除、更新

注:列表去重的方式

name = ['www','qws','wdsd','www']
name = list(set(name))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值