day9.集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day9.集合相关的知识,希望对你有一定的参考价值。
作用:去重,关系运算
定义:由不同元素组成的集合,集合中是一组无序排列的可hash值(不可变类型),可以作为字典的key
集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
常用操作:
in 和 not in :判断某个元素是否存在于集合中
并集 A|B : 在A或者在B
交集 A&B :既在A又在B
差集 A-B :只在A不在B
对称差集 A^B : 集合A与集合B中所有不属于A∩B的元素的集合
是否相等 A==B :判断是否为同一个集合,返回布尔值
父集,子集 >,>= ,<,<= :A>=B 判断A是否为B的父集,返回布尔值
掌握方法:
pythons={‘alex‘,‘egon‘,‘yuanhao‘,‘wupeiqi‘,‘gangdan‘,‘biubiu‘}
linuxs={‘wupeiqi‘,‘oldboy‘,‘gangdan‘}
1.交集(求出即报名python又报名linux课程的学员名字集合)
pythons & linuxs
pythons.intersection(linuxs)
linuxs.intersection(pythons)
2.并集(求出所有报名的学生名字集合)
pythons | linuxs
pythons.union(linuxs)
linuxs.union(pythons)
3.差集(求只报名python,没有报名linux的学生)
pythons - linuxs
pythons.difference(linuxs)
4.对称差集(求出没有同时这两门课程的学员名字集合)
pythons ^ linuxs
pythons.symmetric_difference(linuxs)
linuxs.symmetric_difference(pythons)
5.添加元素
linuxs.add(‘mxt‘)
linuxs.add([1,2,3]) #报错,只能添加不可变类型
6.删除元素
res=linuxs.pop() #不用指定参数,随机删除,并且会有返回值
linuxs.remove(‘oldboy‘) #指定元素删除,元素不存在则报错,单纯的删除,没有返回值
linuxs.discard(‘oldboy1111111‘) #指定元素删除,元素不存在不报错,单纯的删除,没有返回值
7.更新操作
linuxs={‘wupeiqi‘,‘oldboy‘,‘gangdan‘} new_set={‘wupeiqi‘,‘alex_SB‘} linuxs.update(new_set) #用参数的元素更新原集合
8.清空操作
linuxs={‘wupeiqi‘,‘oldboy‘,‘gangdan‘} linuxs.clear() #没有返回值,清空原集合
9.复制操作
linuxs={‘wupeiqi‘,‘oldboy‘,‘gangdan‘} new_l = linuxs.copy()#复制,不改变原集合
10. 其他
set1.difference_update(set2) 等价于 set1 -= set2
set1.intersection_update(set2) 等价于 set1 &= set2
set1.symmetric_difference_update(set2) 等价于 set1 ^= set2
以上是关于day9.集合的主要内容,如果未能解决你的问题,请参考以下文章