python-day3-集合
集合的特性:无序性,唯一性,可嵌套性
1 #创建集合方式
2 s1={11,22}# 直接创建
3 s2=set()#创建空集合
4 s3=set([111,222,333])#转换为集合
1 #集合的方法
2 s1={11,22,33}
3 s2={22,33,44}
4 print(s1.difference(s2))#s1中存在s2中不存在
#输出 {11}
s1={11,22,33}
s2={22,33,44}
s3=s1.symmetric_difference(s2)
print(s3)#将s1与s2中不同的放一起组成新集合
#显示{11, 44}
s1={11,22,33}
s2={22,33,44}
#update方法,s1中存在s2中不存在的值赋给s1
s1.difference_update(s2)#覆盖s1
print(s1)
#显示:{11}
s1={11,22,33}
s2={22,33,44}
# #删除元素
s2.discard(1111)#需要加参数,没有元素不报错
s1.remove(1111)#需要加参数,没有元素报错
res = s1.pop()#随机移除元素,不加参数,接受返回值(删除的元素
s1={11,22,33}
s2={22,33,44}
#求交集
s4=s1.intersection(s2)#求交集赋值给s4
s1.intersection_update(s2)#求交集覆盖s1
print(s4)
print(s1)
#显示{33, 22} {33, 22}
s1={11,22,33}
s2={22,33,44}
s1.isdisjoint(s2)#判断s1是否包含s2 返回True or False
#联合,并集
s5=s1.union(s2)
#显示{33, 22, 11, 44}
#给集合添加一个元素
s1.add(111)#增加一个元素
print(s1)
#显示{33, 11, 22, 111}
#给集合添加一组元素
li=[111,222,333]
s1.update(li)#添加一组元素,参数为可迭代的对象
print(s1)
#显示{33, 11, 333, 111, 22, 222}
#集合的综合使用,根据new_dict,更新old_dict
old_dict={
'#1':8,
'#2':4,
'#4':2,
}
new_dict={
'#1':4,
'#2':4,
'#3':2,
}
#将old_dict的key放入一个集合
s1=set(old_dict.keys())
#将new_dict的key放入一个集合
s2=set(new_dict.keys())
#找出old中存在,new中不存在的赋给del_old(需要删除的key)
del_old=s1.difference(s2)
print(del_old)
#找出old中不存在,new中存在的值赋给add_old
add_old=s2.difference(s1)
print(add_old) #找出两个字典中相同的keys,则是需要更新
update_set=s1.intersection(s2) #将要删除的集合元素转为列表
del_old=list(del_old) #删除字典中的元素
del old_dict[str(del_old[0])] #将需要添加的集合转为列表
add_old=list(add_old) #添加新元素到old_dict中
old_dict[str(add_old[0])]=new_dict[str(add_old[0])] #轮询更新相同key不同vlaues的元素
for i in update_set:
old_dict[i]=new_dict[i] print(old_dict,new_dict) #显示
{'#4'}
{'#3'}
{'#1': 4, '#3': 2, '#2': 4} {'#1': 4, '#3': 2, '#2': 4}
python-day3-集合的更多相关文章
- 跟着ALEX 学python day3集合 文件操作 函数和函数式编程 内置函数
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 一. 集合 集合是一个无序的,不重复的数据组合,主要作用如下 1.去重 把一个列表变成集合 ,就自动去重 ...
- Python 3 集合基础和概念!
Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...
- Python的集合
1. Python的集合 1.1 集合的定义 在Python中, 集合set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.Python中的集合set类 ...
- Python 操作集合
Python 操作集合 集合,set,主要用于数据的关系测试和去重处理,和列表类似,可以存储数据,列表中可以存储重复的数据,但是如果转化为集合之后,数据就会进行去重,然后保留唯一值:关系测试就是求多个 ...
- Python中集合set()的使用及处理
在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点 1.创建set 创建set需要一个list或者tuple或者dict作为输入集合 重复的元素在set中会被自 ...
- Python:集合操作总结
集合是一组无序排列的不重复元素集 [注]:集合的最大作用是对一个序列进行去重操作 一.集合的分类 在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset).对于可变集合(s ...
- python 的集合 set()操作
Python 的集合 set(),是一个无序不重复元素集,可以用于关系测试和消除重复元素. 有以下运算: 1.创建一个set ()集合: 2.add:增加集合元素 3.clea ...
- python set集合(16)
在python变量中除了以前文章所提到的整形int / 浮点数float / 布尔值bool / 列表list / 字典dict 之外,还有一个类型我们还没有做详细介绍,这个变量类型就是集合set. ...
- python frozenset集合(17)
在前一篇文章中我们对 python set集合 做了详细的讲解,而本文讲解的 frozenset集合 其实和set集合类似!区别在于frozenset集合不能修改/添加/删除,其他功能和set集合一样 ...
- Python数据类型--集合(set)
Python的集合是无序.可迭代的容器对象,所有元素放在一对大括号中{},元素之间使用逗号隔开,同一集合内的元素具有唯一性,不允许重复. 集合中只能包含数字.字符串.元组等不可变类型的数据,不能包含列 ...
随机推荐
- Android IOS WebRTC 音视频开发总结(六十)-- 您为什么招不到适合的音视频人才
本文主要介绍音视频行业招聘现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 有过音视频人才招聘经验的应该都深有 ...
- vim与shell的切换
方法1: vim->shell: ctrl-z (挂起vim进程,相当于图形界面中的最小化) shell->vim: fg (foreground) 方法2: vim->shel ...
- JS数组(Array)处理函数总结
1.concat() 连接两个或更多的数组该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本.例如: <script type="text/javascript"&g ...
- Windows 和 Linux 下 禁止ping的方法
Windows 和Linux 下 禁止ping的方法 目的: 禁止网络上的其他主机或服务器ping自己的服务器 运行环境: Windows 03.08 linux 方法: Windows 03下: ...
- 如何找出component的注册路径
SELECT DISTINCT REVERSE(LTRIM(SYS_CONNECT_BY_PATH(REVERSE(PORTAL_LABEL), ...
- VS2010 /VC/bin/rcdll.dll 无法找到资源编译器
把C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin 目录下的rcdll.dll拷贝到 C:\Program Files(x86)\Micr ...
- Silverlight RadGridView的HeaderCellStyle样式
效果图 <UserControl x:Class="SilverlightApplication7.MainPage" xmlns="http://schemas. ...
- tomcat学习笔记1
tomcat是一个开源软件,是由java语言编写的,它工作的话需要运行在jvm虚拟机中,说到jvm不得不说下java这个大名鼎鼎的编程 语言了 java这个编程语言最优秀的特点要数write once ...
- php使用swoole实现一个简单的多人在线聊天群发
聊天逻辑的好多细节没有实现,只实现群发. php代码: $serv = new swoole_websocket_server("127.0.0.1",3999); //服务的基本 ...
- iOS中使用子线程的完整方法
http://www.cnblogs.com/ygm900/archive/2013/06/23/3151691.html 第一步:开启子线程 //开启子线程到网络上获取数据 myFirstThrea ...