初学Python——集合及其运算
一、集合定义及其功能
集合是一个无序的、不重复的数据组合,和字典列表一样也是一种数据类型。
集合两个最主要的功能:①去重(把一个列表变成集合,就自动去重了)
②关系测试(测试两组数据之间的交、并、差集等关系)
二、关系测试
首先,如何创建集合?
两种方式:(1)直接创建
a=set([1,8,2,3,5,4,5,3])
(2)将列表转化成集合
list1=[5,9,7,3,6,6,7,95,78,65,102] #创建列表
list1=set(list1) #将列表转化成集合
在这里需要说明,集合是无序的,尽管将集合a输出:print(a),得到的结果是
看上去好像自动做了排序,其实不然,只是集合的数据太少了,输出list1就不是这样了:
1.取两个集合的交集:
两种写法:①intersection()方法
print(list1.intersection(a)) print(a.intersection(list1))
这两种写法没有任何区别,输出结果都是
②数学表示
print(list_1 & a)
2.取并集:
也是两种方法:①union()方法
print("union:",a.union(list_1))
②数学表示
print("union:",a|list_1)
输出结果:
3.取差集:
亦是两种方法:①difference()方法
print("difference:",list_1.difference(a)) #差集(list_1减去交集) print("difference:",a.difference(list_1)) #差集(a减去交集)
②数学表示
print("list_1 - a :",list_1-a) print("a - list_1 :",a-list_1)
运行结果:
4.判断是否是父集和子集的关系:
issubset()方法和issuperset()方法
print("issubset:",list_1.issubset(a)) #判断list_1是不是a的子集 print("issuperset:",a.issuperset(list_1)) #判断a是不是List_1的父集
当然,肯定都不是,再创建一个集合试一试
list_2=set([1,3,5]) print(list_2.issubset(a)) #判断list_2是不是a的子集,是则返回True print(a.issuperset(list_2)) #判断a是不是list_2的父集,不是返回False
运行结果:
5.对称差集:
对称差集是指两个集合的并集减去交集
①symmetric_difference()方法
print("symmetric_difference:",a.symmetric_difference(list_1))
②数学表示
print("a^list_1:",a^list_1)
运行结果:
6.判断是不是相交
list_3=set([50,30,60]) print("isdisjoint:",a.isdisjoint(list_3)) #判断两个集合之间的关系是不是相交,如果相交返回False print("isdisjoint:",a.isdisjoint(list_2))
运行结果:
三、集合的操作
1.添加数据
添加一项:
a.add("abc") #添加一项
添加多项:
a.update([20,30,90])
2.删除数据
①remove()方法
a.remove("abc") #删除字符“abc”
②pop()方法
print(a.pop()) #随机删除,并返回删除的值
③discard()方法
a.discard(30) #删除数据
3.获取集合的长度
print(len(a)) #集合 a 的长度
4.判断数据是否是集合的成员
print(30 in a) #判断30是否是集合a的成员(列表、字典、集合、字符串都可以用这种方法来判断) print(30 not in a) #判断30是否不是集合a的成员

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python面试真实笔试题总结(附加实现答案)
1、一行代码实现1—100之和 2、如何在一个函数内部修改全局变量 3、列出5个Python标准库 os :提供了不少与操作系统相关联的函数 sys :通常用于命令行参数 re :正则表达式匹配 math :数学运算 datetime :处理日期时间 4、字典如何删除键和合并两个字典 del和update方法 5、Python实现列表去重的方法 先通过集合去重再转为列表 6、Python基本内建数据类型有哪些 整型 ——int、 布尔型 ——bool、 字符串 ——str 列表 ——list、 元组 ——tuple、 字典 ——dict 7、Python2和Python3的range(100)的区别 Python2中的range返回的是一个列表, Python3中的range返回的是一个迭代值,节约内存 8、一句话解释什么样的语言能够用装饰器 函数可以作为参数传递的语言,可以使用装饰器 9、简述with方法打开处理文件帮我们做了什么 打开文件在进行读写操作时可能会出现一些异常状况,如果按照常规的file.open写法,我们需要try,except,finally,做异常判断,并且文件最...
- 下一篇
C#字符串string以及相关内置函数
C#字符串string函数 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力快速理解 C# string 字符串内置函数用法为新手节省宝贵的时间,避免采坑! 1 Info —— Main 支持 May Be —— 搞开发,总有一天要做的事! 全文高清图片,点击即可放大观看 (很多人竟然不知道) 1 Info —— Main class Program { static void Main(string[] args) { /* CompareTo() 函数在字符串相等的时候,返回值为:0 当两个字符 ,比较的字符 str 中出现一个 与下边不同的字符时,str的字母排序靠前,返回-1 否则返回1*/ string str = "a"; int res = str.CompareTo("b"); Console.WriteLine(res); str = "b"; res = str.CompareTo("a"); Console.WriteLine(r...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7设置SWAP分区,小内存服务器的救世主