python中set不经常使用吗【Python教程】,Python

Python ytg3114 11个月前 (11-27) 367次浏览 0个评论 扫描二维码

set和dict相似,也是一组key的鸠合,但不存储value。因为key不能反复,所以,在set中,没有反复的key

set() 函数建立一个无序不反复元素集,可举行关联测试,删除反复数据,还能够盘算交集、差集、并集等。

python中set不经常使用吗【Python教程】,Python

set 语法:

class set([iterable])

参数申明:iterable — 可迭代对象对象;

set鸠合,是一个无序且不反复的元素鸠合#set是一个无序且不反复的元素鸠合

s1=set()
s1.add("alex")
s1.add("eric")
print(s1)
#接见速度快
#天生处理了反复题目
ll=[1,2,3,4,5,6,3,2,1]
s2=set(ll)
print("转换后的鸠合为:",s2)
#去除相同项,生成一个新的鸠合,删除
s3=s2.difference([1,2,3,11])
print("s2稳定:",s2)
print("视察是不是生成一个新的鸠合s3:",s3)
s4=s2.difference_update([3,4,5,11])  #删除一切包含在新鸠合中的元素,并生成一个新的鸠合
print("是不是转变原鸠合s2:",s2)
print("是不是生成新鸠合s4:",s4)
ret=s2.pop()   #掏出元素,并赋值给ret
print("移除s2中的一个元素",s2)
print("测试pop是不是有返回值,移除的元素是:",ret)
ret1=s2.remove(2)  #必需带参数且没有返回值
print("移除s2中的一个元素:",s2)
print("测试remove是不是有返回值:",ret1)
#演习
# 数据库华夏有
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)   #须要增加的鸠合

以上就是python中set不经常使用吗的细致内容,更多请关注ki4网别的相干文章!


搜讯息 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python中set不经常使用吗【Python教程】,Python
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址