初识python: 集合
集合是一个无序的,不重复的数据组合。主要作用如下:
1、去重,把一个列表变成集合,会自动去重;
2、关系测试,测试两组数据之前的交集、差集、并集等关系
#!/user/bin env python
# author:Simple-Sir
# time:20180916
# 集合
'''
集合是一个无序的,不重复的数据组合,主要作用如下:
1、去重,把一个列表变成集合,会自动去重;
2、关系测试,测试两组数据之前的交集、差集、并集等关系
关系运算符:
a = b | c #并集
a = b & c #交集
a = b - c #差集
a = b ^ c #对称差集(a有或b有,且剔除ab都有的。)
''' list_1 = [1,4,5,7,3,6,7,9]
list_1 = set(list_1)
list_2 = set([2,4,6,8,11,22]) print('打印两个集合:',list_1,list_2)
print('交集:',list_1.intersection(list_2)) #取交集
print('符号交集 &:',list_1 & list_2) #取交集
print('并集:',list_1.union(list_2)) #取并集
print('符号并集 |:',list_1 | list_2) #取并集 print('差集:',list_1.difference(list_2)) # 取差集:list_1中有,list_2没有
print('符号差集 -:',list_1 - list_2) # 取差集:list_1中有,list_2没有
print('差集:',list_2.difference(list_1)) # 取差集:list_2中有,list_1没有
print('符号差集 -:',list_2 - list_1) # 取差集:list_2中有,list_1没有 print('对称(反向)差集:',list_1.symmetric_difference(list_2)) #对称(反向)差集:剔除交集的数据
print('符号对称(反向)差集 ^:',list_1 ^ list_2) list_3 = set([1,3,5])
print('判断list_3是否是list_1的子集:',list_3.issubset(list_1)) #判断list_3是否是list_1的子集
print('判断list_1是否是list_3的父集:',list_1.issuperset(list_3)) #判断list_1是否是list_3的父集 list_4 = set([6,7,8])
print('判断list_3和list_4是否有交集:',list_3.isdisjoint(list_4)) #判断list_3和list_4是否有交集 list_1.add(111) #添加一项
print('添加一项:',list_1)
list_1.update([222,333,444]) #添加多项
print('添加多项:',list_1) list_1.remove(444) #删除一项,若删除项不存在,会报错。
list_1.discard(333) #删除一项,若删除项不存在,不会报错。
print('删除一项:',list_1)
print('随机删除一项,并返回删除值:',list_1.pop()) #随机删除一项,并返回删除值 print('list_1的长度:',len(list_1)) #长度 # 注:列表、元组、字典 都是这样用(in,not in 一样)! a in b # a是否存在b中
print('判断1是否存在list_1中:',1 in list_1) #判断1是否存在list_1中
print('判断0是否不存在list_1中:',0 not in list_1) #判断1是否不存在list_1中
集合常用操作
执行结果:

附1:关系运算符
a = b | c #并集
a = b & c #交集
a = b - c #差集
a = b ^ c #对称差集(a有或b有,且剔除ab都有的。)
附2:
列表、元组、字典 判断某个值是否是其元素,都是此用法:(in,not in 一样)!
a in b # a是否存在b中
a not in b # a是否不存在b中
初识python: 集合的更多相关文章
- @1-2初识Python爬虫
初识Python爬虫 Python爬虫(入门+进阶) DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...
- 初识python(二)
初识python(二) 1.变量 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用. 1.1 声明变量: #!/usr/bin/env python # -*- coding: utf- ...
- 《初识Python之认识常量type函数》
<初识Python之认识常量type函数> 1.2 认识常量 1.常量:我们用的就是它字面意义上的值或内容. 2.数字(Number) (1)整数表示:97. (2)浮点数表示:5.29 ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- Python开发【第一篇】:初识Python
初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- Python 集合set添加删除、交集、并集、集合操作符号
在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...
- 初识python面向对象
一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...
- [转]python集合set
Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...
- 篇2 安卓app自动化测试-初识python调用appium
篇2 安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...
随机推荐
- Linux 易错小结
修改文件夹(递归修改)权限 chmod -R 777 /html Linux查看进程的4种方法 第一种: ps aux ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不必要的程 ...
- MySQL索引及性能优化分析
一.SQL性能下降的原因 查询语句问题,各种连接.子查询 索引失效(单值索引.复合索引) 服务器调优及各个参数设置(缓冲.线程池等) 二.索引 排好序的快速查找数据结构 1. 索引分类 单值索引 一个 ...
- leetcode,两个排序数组的中位数
先上题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 ...
- JavaMoney规范(JSR 354)与对应实现解读
一.概述 1.1 当前现状 当前JDK中用来表达货币的类为java.util.Currency,这个类仅仅能够表示按照**[ISO-4217]**描述的货币类型.它没有与之关联的数值,也不能描述规范外 ...
- 车载以太网第二弹|测试之实锤-AVB测试实践
背景 AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步.带宽预留和流量调度等协议规范,用于构 ...
- 罗德与施瓦茨公司和TSN Systems公司为车载以太网提供纳秒级精度延时测量
前言 随着毫米波雷达.激光雷达和摄像头等传感器的大量出现,并要求海量的传感器数据在几毫秒内传输完成并处理,使得网络延迟问题变得越发重要.测试和测量的专家Rohde&Schwarz(以下简称R& ...
- thinkPHP跨数据库访问/数据库切换
在项目的开发中会遇到访问多个数据库的问题这里讲的是:访问同一地址下的多个数据库 第一步:在配置文件中配置你要连接的其他的数据库 例如:我现在默认的数据库是back 现在我要设置第二个数据库travel ...
- 请注意JS方法,方法同名,参数个数不一样是不能区分方法的,
请注意JS方法,方法同名,参数个数不一样是不能区分方法的, 所以要区分方法,只能利用方法名不同来区分,而不能利用参数个数与参数类型来分.
- WSL docker打通容器间通信和追加端口映射
最近在docker中搭建一个服务,需要有多个容器通信.这里简单记录一下如何在容器间进行通信,同时说一下已经存在的容器如何追加端口映射. 增加网桥 容器间通信的目的是不适用IP而是使用容器名称进行网络通 ...
- 【九度OJ】题目1179:阶乘 解题报告
[九度OJ]题目1179:阶乘 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1179 题目描述: 输入n, 求y1=1!+3!+-m ...