介绍
小编给大家分享一下Python中设置和dict的案例分析,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
<强> dict常用操作强>
引言
明确():清空字典
复制():返回一个浅拷贝
fromkeys():将可迭代对象中的每一个元素作为关键和同一个价值拼成字典
得到():根据关键返回值,若无对应的键值对,则返回没有,也可以指定默认返回值,和索引访问相比,不会产生异常。
项目():返回一个dict_items类型,支持迭代,键值对以元组形式组织
setdefault():获取关键对应的价值值,先调用(),若不存在该键值对,则添加
update():合并字典,或键值对元组构成的可迭代对象
<强>使用案例强>
#,1只清楚() d =,{名称:“MetaTian",,年龄:“22”} d.clear () #,2只复制() 时间=new_dict d.copy () new_dict [“age"],=18 打印(new_dict) 打印(d) #,resutl: #,{& # 39;年龄# 39;:,18日,& # 39;名字# 39;:,& # 39;MetaTian& # 39;} #,{& # 39;年龄# 39;:,& # 39;22 & # 39;,,& # 39;名字# 39;:,& # 39;MetaTian& # 39;} #,3只fromkeys () 时间=d dict.fromkeys(范围(3),“MetaTian") 打印(d) #,结果: #,{0:& # 39;MetaTian& # 39;,, 1:, & # 39; MetaTian& # 39;,, 2:, & # 39; MetaTian& # 39;} #,4只;get () 打印(d.get (2)) 打印(d.get (3)) print (d.get (3,“null")) #,结果: #,MetaTian #,没有 #,零 #,5只产品() print(类型(d.items ())) print (d.items ()) #,结果: #,& lt; class & # 39; dict_items& # 39;比; #,dict_items (((0,, & # 39; MetaTian& # 39;),, (1, & # 39; MetaTian& # 39;),, (2), & # 39; MetaTian& # 39;))) #,6只setdefault () d =, {} 时间=value d.setdefault (“name",,“MetaTian"),, #,如果无,name 这个,键,则添加 打印(价值,,d) #,结果: #,MetaTian {& # 39;名字# 39;:,& # 39;MetaTian& # 39;} #,7只更新() d1 =, {1:“a"} d2 =, {2:“b"} d1.update (d2) d2.update ([(3,“c"),, (4,“d"))) 打印(d1) 打印(d2) #,结果: #,{1:& # 39;一个# 39;,,2:,& # 39;b # 39;} #,{2:& # 39;b # 39;,, 3:, & # 39; c # 39;,, 4:, & # 39; d # 39;}
<强>设置和frozenset 强>
引言
设置是可变集合,frozenset是不可变集合
集合中的元素无序,不重复
使用案例
“““ 通过,集(Iterable),来构建出可变集合对象 通过,frozenset (Iterable),构建不可变集合对象 “““ 时间=s 集(“12345666”) fs =, frozenset([& # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;,, & # 39;一个# 39;]),,,,#,不可变类型,可以作为,dict 的关键 打印(s) 打印(fs) #,结果: #,{& # 39;6 & # 39;,,& # 39;1 & # 39;,,& # 39;4 & # 39;,,& # 39;5 & # 39;,,& # 39;3 & # 39;,,& # 39;2 & # 39;} #,frozenset ({& # 39; b # 39;,, & # 39;一个# 39;,,& # 39;c # 39;}) “““ 向,set 中添加元素 add () update () “““ s1, s2 =,设置(“123”),设置(“234”) s1.update (s2) s2.add (& # 39; 5 & # 39;) 打印(s1) 打印(s2) #,结果: #,{& # 39;1 & # 39;,,& # 39;2 & # 39;,,& # 39;3 & # 39;,,& # 39;4 & # 39;} #,{& # 39;2 & # 39;,,& # 39;3 & # 39;,,& # 39;5 & # 39;,,& # 39;4 & # 39;} “““ 集合的运算 安康;差 ,交 |,并 “““ s1, s2 =,设置(“123”),设置(“234”) 打印(s1 安康;s2) 打印(s1 ,, s2) 打印(s1 |, s2) #,结果: #,{& # 39;1 & # 39;} #,{& # 39;2 & # 39;,,& # 39;3 & # 39;} #,{& # 39;3 & # 39;,,& # 39;1 & # 39;,,& # 39;2 & # 39;,,& # 39;4 & # 39;}
<强> dict类型和设置的实现原理强>
引言
dict类型和设置的查找性能远远大于列表
dict和设置底层通过散列表存储,因此也要求dict的关键是可哈希的,不可变对象都是可哈希的
哈希的原理。
以字典为例。
存储之前要通过哈希函数来计算关键的值,得到存储索引,如果得到的结果已经被使用,要处理冲突,重新计算后再进行存储
自定义的类通过实现__hash__(),就可以存储在dict和设置中。
看完了这篇文章,相信你对Python中设置和dict的案例分析有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!