Python基础学习之集合
集合是一个无序、不重复的数据集合,它的主要作用如下:
- 去重:把一个列表变成集合,就可以去除重复的内容
- 关系测试:测试两组数据之间的交集、并集、差集等关系
集合常用的操作:
#创建一个数值集合
s=set([99,1,23,8,4,7])
print('s=',s)
#创建一个唯一字符的集合
t=set('MyPython')
print('t=',t)
#把一列表变成集合,验证去重功能
list=[5,2,7,36,2,5,111]
list2set=set(list)
print('列表变成集合后为:',list2set)
#交集
#求交集、并集时集合前后顺序无所谓
set1=set([3,5,7,9,12,0])
set2=set([1,2,3,6,8,9])
#s1与s2结果一样。求交集的两种算法都可以
s1=set1.intersection(set2)
s2=set1&set2
print('set1=',set1)
print('set2=',set2)
print('set1与set2的交集是:',s1,s2)
#并集
#union()=|
s3=set1.union(set2)
s4=set2|set1
print('set1与set2的并集是:',s3,s4)
#差集
print('***********求set1与set2的差集***********')
print('set1=%s\nset2=%s\n'%(set1,set2))
s5=set1.difference(set2)#求差集(数值在set1中,但不在set2中)
s6=set2.difference(set1)#求差集(数值在set2中,但不在set1中)
s7=set1-set2 #求差集(数值在set1中,但不在set2中)
s8=set2-set1 #求差集(数值在set2中,但不在set1中)
print('s5=%s\n'%s5,'S6=%s\n'%s6,'s7=%s\n'%s7,'s8=%s\n'%s8) #对称差集
print("*************求对称差集**************")
s9=set1.symmetric_difference(set2)
s10=set1^set2
print('set1与set2的对称差集是:',s9,s10) #基本操作
set1.remove(3)#删除set1中的一项3
print(set1)
set1.update([66.77,88,99])#在set2中添加三个数值
print(set1) len(set1)#求set1的长度
#x in set1 #测试x是否是set1的成员
#x not in set1 #子集 超集
a=set([2,3,4,5,9])
b=set([2,3,5])
c=set([44,2,7,5,12,3])
print(a.issuperset(b))
print(b.issuperset(a))
print(b.issubset(a))
print(b.issubset(c))
print(a>=b)
print(a<=b)
print(b<=c)
print(b>=c)
Python基础学习之集合的更多相关文章
- python基础学习1-SET 集合
# -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...
- python基础学习之集合set
.集合:set 特点:无序,不可重复(自动去重),可更改,可以与元组.列表互相转换 格式:s = {'x','y','z'} 转换:(转回用set) s = {'x','y','z'} ...
- (一)python基础学习
根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...
- Python基础学习五
Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...
- Python基础学习三
Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...
- python基础学习8
python基础学习8 内容概要 字典的内置方法 元组的内置方法 集合的内置方法 垃圾回收机制 内容详情 字典的内置方法 一.类型转换 res = dict(name='jason', pwd=123 ...
- python基础学习7
python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
随机推荐
- Modbus协议学习笔记
之前也有写过基于 Modbus 通讯协议的控制远程监控程序,但是由于当时时间赶.人手少(软硬件前后台都是在下一人
- SElinux学习记录
1.SELinux:是一种基于域类型模型的强制访问控制安全系统,由NSA编写设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SE Linux补丁 查看Selinux: ps -Z #查看S ...
- linux的shell脚本
一.遇到的问题: 1.在Documents/shell_Document的文件夹下创建第一个脚本. 但是发现在图形化界面不能执行shell脚本.只能到命令行模式下才能执行.感觉太麻烦,我的虚拟机从图形 ...
- ORA-12012 ORA-20001 on ORACLE 12C (2420581.1)
Oracle数据库 - 企业版 - 12.2.0.1及更高版本本文档中的信息适用于任何平台. Doc ID 2420581.1 症状 在容器数据库中,警报日志中会显示以下错误: ORA-12012 ...
- SpringMVC---彻底解决/和/*的问题!到底该用哪一个?
出处: https://blog.csdn.net/sinat_33921105/article/details/81951156 在web开发中我们经常会遇到/和/*的问题,有的时候稍不注意就容易忘 ...
- Linux安装mysql记录 重置密码
重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor ...
- Spring---数据缓存(未完待续)
1.为什么需要数据缓存? 程序的瓶颈大都在数据库,而内存的速度是远远大于硬盘的,当我们需要重复读取相同数据时,一次又一次的请求数据库或者远程服务,导致大量的时间浪费在数据库或者 远程服务上,导致程序性 ...
- 吞吐率(Requests per second),缩写RPS
计算公式: 吞吐率 = 总请求数 / 处理这些请求的总完成时间 Requests per second = Complete requests / Time taken for tests 吞 ...
- android Binder机制(一)架构设计
Binder 架构设计 Binder 被设计出来是解决 Android IPC(进程间通信) 问题的.Binder 将两个进程间交互的理解为 Client 向 Server 进行通信. 如下:bind ...
- Python + Selenium 基础篇 - 打开和关闭浏览器
1.首先要下载浏览器对应的driver,并放到你的python安装目录 Chrome浏览器(chromedriver): http://npm.taobao.org/mirrors/chromedri ...