python中set的意思,python中set的用法
dict常用操作
向前
清除()3360清空字典
Copy () 3360返回一个轻量级副本
Fromkeys():将iterable对象中的每个元素作为一个键和相同的值拼写到一个字典中。
Get():根据键返回值,如果没有对应的键值对,则返回None。您还可以指定默认返回值,这与索引访问相比不会生成异常。
Items():返回dict_items类型,支持迭代,键值对以元组形式组织。
Setdefault():获取键对应的值,先调用get(),如果键-值对不存在,则添加。
Update () 3360合并字典,或者由键值对和元组组成的迭代对象。
使用案例
#1 .清除()
d={name:MetaTian ,age:22}
d .清除()
#2 .复制()
new_dict=d.copy()
new_dict[age]=18
打印(新字典)
打印(d)
#结果:
#{ 年龄 :18,姓名 : 元天 }
#{age:22 , name:MetaTian}
#3.fromkeys()
d=dict.fromkeys(范围(3), MetaTian )
打印(d)
#结果:
#{0: 元天,1: 元天,2: 元天 }
#4.get()
print(d.get(2))
print(d.get(3))
print(d.get(3, null ))
#结果:
#MetaTian
#无
#null
#5 .项目()
打印(type(d.items()))
打印(d.items())
#结果:
#classdict_items
#dict_items([(0, MetaTian ),(1, MetaTian ),(2, MetaTian )))
#6.setdefault()
d={}
Value=d.setDefault (name , meta Tian) #如果没有name键,则添加它。
打印(数值,d)
#结果:
# meta Tian { name : meta Tian }
#7 .更新()
d1={1:a}
d2={2:b}
d1 .更新(d2)
d2.update([(3, c ),(4, d)])
打印(d1)
打印(d2)
#结果:
#{1:a ,2:b}
#{2:b ,3:c ,4: d }set和frozenset
向前
Set是可变集合,而frozenset是不可变集合。
集合中的元素顺序错误,没有重复。
用例
Set(Iterable)用于构造可变集合对象。
通过frozenset(Iterable)构建不可变的set对象
s=设置( 12345666 )
Fs=冻结集([a , b , c , a]) #不可变类型,可以作为dict的键
印刷品
打印(fs)
#结果:
#{6,1,4,5,3,2}
#frozenset({b , a , c})
向集合中添加元素
添加()
更新()
s1,s2=集合( 123 ),集合( 234 )
s1 .更新(s2)
s2.add(5 )
打印(s1)
打印(s2)
#结果:
#{1,2,3,4}
#{2,3,5,4}
集合运算
-可怜。
传递
合并
s1,s2=集合( 123 ),集合( 234 )
打印(s1-s2)
打印(s1s2)
打印(s1s2)
#结果:
#{1}
#{2,3}
#{3 , 1 , 2 , 4 }dict和set的实现原理
向前
dict和set的查找性能远高于list。
dict和set的底层是用哈希表存储的,所以dict的键也要求哈希,所有不可变的对象都要哈希。
哈希原理。
以字典为例。
在存储之前,需要通过哈希函数计算key的值,得到存储索引。如果得到的结果已经被使用,应该处理冲突,重新计算后再进行存储。
自定义类可以存储在dict中,通过实现__hash__()来设置。
因此,特定的存储顺序可能与添加元素的顺序有关。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。