博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
set集合
阅读量:5930 次
发布时间:2019-06-19

本文共 984 字,大约阅读时间需要 3 分钟。

小练习

下列两个字典,使用set得出需要修改(交集)、需要删除(差集)、需要添加的内容。

old_dict = {    "#1":{'hostname':'c1', 'cpu': 2, 'dimm':2048},    "#2":{'hostname':'c2', 'cpu': 2, 'dimm':2048},    "#3":{'hostname':'c3', 'cpu': 2, 'dimm':2048},}new_dict = {    "#1":{'hostname':'c1', 'cpu': 2, 'dimm':4096},    "#3":{'hostname':'c3', 'cpu': 2, 'dimm':2048},    "#4":{'hostname':'c4', 'cpu': 2, 'dimm':2048},}#只对keys作比较,得到所有keys的列表,并转为set集合old_list = set(old_dict.keys())new_list = set(new_dict.keys())#需要更新的内容(交集)update_set  = old_list .intersection(new_list)#需要删除的内容(差集)delete_set = old_list.difference(update_set)#需要添加的内容add_set = new_list.difference(update_set)print(update_set)print(delete_set)print(add_set)

运行结果:

{'#1', '#3'}{'#2'}{'#4'}

图解:

 

set中difference和symmetric_difference的区别

例:

s1 = set([11,22,33])s2 = set([33,44])ret1 = s1.difference(s2)ret2 = s1.symmetric_difference(s2)print(ret1)print(ret2)

运行结果:

{11, 22}{11, 44, 22}

说明:

ret1中只循环s1 ret2中先循环s1,然后循环s2

 

转载于:https://www.cnblogs.com/jacky-zhao/p/8125731.html

你可能感兴趣的文章
用css3做一个求婚小动画
查看>>
自定义控件 - 收藏集 - 掘金
查看>>
rpm包管理、yum
查看>>
CSS单行、多行文本溢出显示省略号
查看>>
慕课网_《Redis入门》学习总结
查看>>
【面试篇】JS数据类型及判断
查看>>
spring cloud stream kafka实例
查看>>
jQuery中的data方法只能获取不能设置值?
查看>>
React中的表单组件
查看>>
ios页面overflow:scroll;滚动不流畅及手机web页面,软键盘弹出,输入框被遮住
查看>>
Express+MongoDB步步为'赢'
查看>>
配置ssh,使用自定义 ssh-key 访问特定的服务器
查看>>
Anaconda3 Python 3 和 2 in Jupyter Notebook共存方法
查看>>
使用cjieba(结巴分词库)实现php扩展中文分词
查看>>
讨论数据加载的问题
查看>>
Oracle Cloud Native Framework推出云原生解决方案
查看>>
MySQL是如何做容器测试的?
查看>>
解读 2018 之运维篇:我们离高效智能的运维还有多远
查看>>
一段时间内统计分析数据查询sql实现
查看>>
Firefox Developer Edition推出弹出窗口调试
查看>>