python中set不常用吗

anonymity
发布: 2019-06-12 16:39:41
原创
2610人浏览过

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

python中set不常用吗

set 语法:

class set([iterable])
登录后复制

参数说明:iterable -- 可迭代对象对象;

立即学习Python免费学习笔记(深入)”;

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不常用吗的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号