首页 / PYTHON / Python:集合操作总结
Python:集合操作总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python:集合操作总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2834字,纯文字阅读大概需要5分钟。
内容图文
集合是一组无序排列的不重复元素集
[注]:集合的最大作用是对一个序列进行去重操作
一、集合的分类
在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset)。对于可变集合(set)是允许添加和删除元素的;而对于不可变集合(frozenset)则不允许对集合进行添加和删除操作。
二、集合的创建
与列表([])、元组(())和字典({})不同,集合的创建没有特别的语法格式,因此如果想要创建集合就必须调用创建集合所需的工厂函数:set()和frozenset() [注]:这是创建集合的唯一方法
1 s=set(‘Tomwenxing‘) #创建可变的集合2 t=frozenset(‘Tomwenxing‘) #创建不可变的集合3 new_s=set([1,2,3,4,5,6]) #列表转化为可变集合4 new_t=frozenset([1,2,3,4,5,6]) #列表转化为不可变集合56print(s) 7print(t) 8print(new_s) 9print(new_t)
三、集合操作符
[说明]:
(1)B-A:读作“A在B中的差集或相对补集”,意为“只属于B但不属于A的元素组成的集合”
(2)AΔB:读作“A和B的对称差分或对称差集”,意为“集合A与集合B中所有不属于A∩B的元素的集合”
四、集合的方法
A、适用于所有集合的方法
1.s.issubset(t):如果s是t的子集,返回True,否则返回False
1 name=set(‘Tomwenxing‘) 2 sub_name=set(‘Tom‘) 3print(sub_name.issubset(name))
2.s.issuperset(t):如果s是t的超集,返回True,否则返回False
1 name=set(‘Tomwenxing‘) 2 sub_name=set(‘Tom‘) 3print(name.issuperset(sub_name))
3.s.union(t):返回一个新的集合,该集合是s和t的并集
[注]:s.union(t)相当于“s|t”
1 name1=set(‘Tom‘) 2 name2=set(‘Jack‘) 3print(name1.union(name2))#并集操作4print(name1|name2)#并集操作
4.s.intersection(t):返回一个新的集合,该集合是s和t的交集
[注]:s.intersection(t)相当于“s&t”
1 name1=set(‘Tomwenxing‘) 2 name2=set(‘Tomhandking‘) 3print(name1.intersection(name2)) 4print(name1&name2)
5.s.difference(t):返回一个新的集合,该集合是s和t的差集,即该集合中的元素是s的成员但不是t的成员
[注]:s.difference(t)相当于“s-t”
1 name1=set(‘Tomwenxing‘) 2 name2=set(‘Tom‘) 3print(name1.difference(name2)) 4print(name1-name2)
6.s.symmetric_deference(t):返回一个新的集合,该集合是s和t的对称差集,即返回所有s和t独有的(非共同拥有的)元素集合
[注]:s.symmetric_deference(t)相当于“s^t”
1 name1=set(‘Tomwenxing‘) 2 name2=set(‘Tomhandking‘) 3print(name1.symmetric_difference(name2)) 4print(name1^name2)
7.s.copy():返回一个集合s的浅拷贝,效率比工厂函数要好
B、仅适用于可变集合(set)的方法
1.s.update(t):用集合t来更新集合s,更新后集合s在原有元素的基础上增加原先集合t所独有的元素
1 number1=set(‘1234567‘) 2 number2=set(‘56789‘) 3number1.update(number2) 4print(number1)
2.s.intersection_update(t):将集合s更新为集合s与集合t的交集
1 number1=set(‘1234567‘) 2 number2=set(‘56789‘) 3number1.intersection_update(number2) 4print(number1)
3.s.difference_update(t):将集合s更新为集合s与集合t的差集
1 number1=set(‘1234567‘) 2 number2=set(‘56789‘) 3number1.difference_update(number2) 4print(number1)
4.s.symmetric_difference_update(t):将集合s更新为集合s与集合t的对称差集
1 number1=set(‘1234567‘) 2 number2=set(‘56789‘) 3number1.symmetric_difference_update(number2) 4print(number1)
5.s.add(obj):在集合s中添加对象obj
1 number1=set(‘1234567‘) 2 number1.add(‘Tomwenxing‘) #作为一个整体添加到集合中3print(number1)
6.s.remove(obj):从集合s中删除对象obj,如果obj不是集合s中的元素,将引发keyerror
1 language=set([‘C‘,‘Python‘,‘C++‘,‘Java‘]) 2 language.remove(‘Java‘) 3print(language)
7.s.discard(obj):如果obj是集合s中的元素,就从集合s中删除对象obj
1 language=set([‘C‘,‘Python‘,‘C++‘,‘Java‘]) 2 language.discard(‘Java‘) 3print(language)
8.s.pop():删除集合s中的任意一个对象,并返回它
1 language=set([‘C‘,‘Python‘,‘C++‘,‘Java‘]) 2 element=language.pop() 3print(element) 4print(language)
9.s.clear():删除集合s中的所有元素
原文:http://www.cnblogs.com/duwenxing/p/7355325.html
内容总结
以上是互联网集市为您收集整理的Python:集合操作总结全部内容,希望文章能够帮你解决Python:集合操作总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。