python set集合使用方法解析
这篇文章主要介绍了pythonset集合使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
定义
定义:在{}中用逗号隔开,集合具备以下3个特点:
1.每个元素必须是不可变类型
2.集合内没有重复元素
3.集合内元素无序
my_set={1,2,3,4} #本质上 my_set=set({1,2,3,4}) #注意1:列表是索引对应值,字典是key对应值,均可以取得单个值. #而集合类型既没有索引也没有key值相对应,所以无法取得单个的值.对集合来说 #主要功能在于去重与关系元素,没有取出单个值的需求 #注意2:{}既被用于定义字典也被用于定义集合.但是字典内的元素必须以key:value的形式. #如何准确的定义一个空集合? my_set={} print(type(my_set)) my_set=set() print(type(my_set))>>>
类型转换
但凡能被for循环遍历输出的值(输出的值不能为可变数据类型)
my_set=set([1,2,3,4,5])>>>{1,2,3,4,5} my_set=set('string')>>>{'t','s','g','i','r','n'} my_set=set((1,2,3,4,1))>>>{1,2,3,4} my_set=set({'name':'yyh'})>>>{'name'}
关系运算
friends1={'Albert','Tony','John','Egon','Sean'} friends2={'Sean','Sor','Egon'} print(friends1|friends2)#求合集 print(friends1&friends2)#求交集 print(friends1-friends2)#求差集friends1中独有的 print(friends2-friends1)#求差集friends2中独有的 print(friends1^friends2)#对称差集(去掉共有的好友后的合集) print(friends1==friends2)#集合是否相等 print({1,2,3}>={1,2,3})#包含关系 print({1,2,3}>{1,2})#真包含关系 print({1,2}<{1,2,3})#真子集 print({1,2,3}<={1,2,3})#子集
去重
#集合去重复有局限性,仅适用于不可变数据类型 #集合本身是无序的,去重之后无法保留原来的顺序 my_list=['a','b',1,'a','b'] my_set=set(my_list)#列表转集合 print(my_set) my_list=list(my_set)#集合转列表 print(my_list)#去除了重复,但是打乱了顺序
#针对可变类型,并且保证顺序则需要自己写代码实现 my_list=[ {'name':'lili','age':18,'sex':'male'}, {'name':'jack','age':73,'sex':'male'}, {'name':'tom','age':20,'sex':'female'}, {'name':'lili','age':18,'sex':'male'}, {'name':'lili','age':18,'sex':'male'}, ] new_list=[] foriinmy_list: ifinotinnew_list: new_list.append(i) print(new_list)
练习
pythons={'jason','egon','kevin','ricky','gangdan','biubiu'} linuxs={'kermit','tony','gangdan'} print(f'即报名了python又报名了linux的学员有{pythons&linuxs}') print(f'所有报名的学员{pythons|linuxs}') print(f'只报名了python的学员{pythons-linuxs}') print(f'只报名了其中一门的学员{pythons^linuxs}')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。