Python基本数据类型set方法概述
li=[1,2,3,4,5,6,3,2,1]
s2 = set(li)
print(set(li))
#difference()去除相同项,生成一个新的集合,删除
s3=s2.difference([1,2,3,11])
set1 = {1,44,87,23,55}
set2 = {1,44,88,23,67}
# difference()比较元素 set1中有而set2中没有
ret = set1.difference(set2)
print(ret)#{55, 87}
print(set1)
print(set2)
#difference_update()删除两集合中相同的元素--
#从set1中删除和set2中相同的元素
set1.difference_update(set2)
print(set1)
print(set2)
#discard(valyes) 移除元素
#移除指定元素,不存在不会报错,remove()不存在会报错,建议discard
set1.discard(4)
print(set1)
#intersection()取交集值
set1 = {1,44,87,23,55}
set2 = {1,44,88,23,67}
ret = set1.intersection(set2)
print(set1)
#intersection_difference()取交集并更新
#取交集并更新到set1中
set1.intersection_update(set2)
print(set1)
#symmetric_difference()对称交集
#对称交集,取两个集合中互不存在的元素,生成一个新的集合
ret = set1.symmetric_difference(set2)
print(ret)#{67, 55, 87, 88}
symmetric_difference_update()对称交集并更新
set1.symmetric_difference_update(set2)
#对称交集,并更新元素到set1中
print(set1)
#union()并集
#并集并更新到新的集合中
ret = set1.union(set2)
print(ret) # 数据库中原有 old_dict = {
"#1":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },
"#2":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },
"#3":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 }
} # cmdb 新汇报的数据
new_dict = {
"#1":{ 'hostname':"c2", 'cpu_count': 2, 'mem_capicity': 800 },
"#3":{ 'hostname':"c2", 'cpu_count': 2, 'mem_capicity': 80 },
"#4":{ 'hostname':"c2", 'cpu_count': 2, 'mem_capicity': 80 }
}
"""
分析:
1、新有,原来无→新加入
2、新有,原来有→更新
3、新无,原来有→原来删除
使用set的交集和差集来计算
old_dict.keys()
new_dict.keys()
交集(更新):要更新的数据
差集(删除):old_dict.keys()--交集
差集(添加):new_dict.keys()--交集
"""
old=set(old_dict.keys())
new=set(new_dict.keys())
up_set=old.intersection(new) #需要更新的集合
del_set=old.symmetric_difference(up_set) #需要删除的集合
add_set=new.symmetric_difference(up_set) #需要添加的集合
print(up_set)
print(del_set)
print(add_set)
Python基本数据类型set方法概述的更多相关文章
- Python 入门之Python基础数据类型及其方法
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...
- 【转】Python数据类型之“序列概述与基本序列类型(Basic Sequences)”
[转]Python数据类型之“序列概述与基本序列类型(Basic Sequences)” 序列是指有序的队列,重点在"有序". 一.Python中序列的分类 Python中的序列主 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- python的list()列表数据类型的方法详解
一.列表 列表的特征是中括号括起来的,逗号分隔每个元素,列表中的元素可以是数字或者字符串.列表.布尔值......等等所有类型都能放到列表里面,列表里面可以嵌套列表,可以无限嵌套 字符串的特征是双引号 ...
- python——获取数据类型:type()、isinstance()的使用方法:
python——获取数据类型 在python中,可使用type()和isinstance()内置函数获取数据类型 如: (1)type()的使用方法: >>> a = '230' ...
- python基本数据类型list,tuple,set,dict用法以及遍历方法
1.list类型 类似于java的list类型,数据集合,可以追加元素与删除元素. 遍历list可以用下标进行遍历,也可以用迭代器遍历list集合 建立list的时候用[]括号 import sys ...
- day02 Python 的模块,运算,数据类型以及方法
初识pyhton的模块: 什么是模块: 我的理解就是实现一个功能的函数,把它封装起来,在你需要使用的时候直接调用即可,我的印象里类似于shell 的单独函数脚本. python 的模块分为标准的和第三 ...
随机推荐
- Oracle11以后的行列转换
Oracle11以后,行列转换有了新的方法. 下面的是已经疏通过的代码,请放心使用... With AA as ( Select A,B,C,row_number() over (partition ...
- 2、CentOS7密码重置
一.重启系统,在开机过程中,快速按下键盘上的方向键↑和↓.目的是告知引导程序,我们需要在引导页面选择不同的操作,以便让引导程序暂停. 以下是暂停后的界面,可以查看下方的英文可知↑和↓的作用. 二. ...
- appium server与nodeJs 兼容问题
在命令行模式下启动appium server时报错:error: uncaughtException: Cannot find module 'internal/util/types' 再来看看app ...
- Vue 实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案
Vue实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案 by:授客 QQ:1033553122 开发环境 Win 10 Vue 2.9.6 node-v ...
- 搜索练习题LETTERS
题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1212 或者http://poj.org/problem?id=1154 题目描述: 给 ...
- PHP0018:PHP 图像处理
- redis缓存优化
redis缓存优化 一.问题 在Javaweb项目中,如果每次刷新,所有资源都重新从数据库中读取,这样每次效率会很低,在这里可以使用redis非关系型数据库,将一些不经常变化得资源加载进内存中.提高效 ...
- P2813 母舰
------------------------------------------- 链接:P2813 ------------------------------------------- 一道贪 ...
- 使用pem连接服务器
后台同学甩给你一个pem文件,username@IP后如何链接服务器 准备:ssh客户端 例子xshell 文件->新建->主机(连接界面主机输入框输入IP)->点击用户身份-> ...
- C# VS2017 WinForm 打包和升级
C# WinFrom打包不怎么常用,但一年总有那么一两次,每次都记不全,为了方便自己回看,于是有了本篇文章. 本例使用<C#工具类LogHelper>的解决方案作为例子,实现WinForm ...