作者:SaraCody_174 | 来源:互联网 | 2023-01-10 16:58
如何定义一个字典?
info={
"k1":18, #key:key值
"k2":True,
"k3":[11,22,{"kk1":"vv1","kk2":"vv2"}]
}
print(info)
运行结果:
{'k1': 18, 'k2': True, 'k3': [11, 22, {'kk1': 'vv1', 'kk2': 'vv2'}]}
字典可以进行多重嵌套
布尔值不能作为字典的key
列表不能作为字典的key
字典也不能作为字典的key
元组可以
而且字典是无序的,顺序不定
info={
"k1":18,
"k2":True,
"k3":[11,22,{"kk1":"vv1","kk2":"vv2"}]
}
如何取到18
答案:print(info["k1"])
如何取到11
答案:print(info["k3"][0])
如何取到从vv1
print(info["k3"][2]["kk1"])
如何删除k1
del info["k1"]
如何删除kk2
del info["k3"][2]["kk2"]
字典能否for循环?
可以for循环,但是只能显示key 无法读取到key值
dict的函数:
#keys 获取字典的key
info={
"k1":18,
"k2":True,
"k3":[11,22,{"kk1":"vv1","kk2":"vv2"}]
}
v=info.keys()
print(v)
运行结果:
dict_keys(['k1', 'k2', 'k3'])
#items 读取整个字典
如何获取到字典的key 和值
info={
"k1":18,
"k2":True,
"k3":[11,22,{"kk1":"vv1","kk2":"vv2"}]
}
for k,v in info.items():
print(k,v)
运行结果:
k1 18
k2 True
k3 [11, 22, {'kk1': 'vv1', 'kk2': 'vv2'}]
#clear 清空整个字典
info={
"k1":18,
"k2":True,
"k3":[11,22,{"kk1":"vv1","kk2":"vv2"}]
}
info.clear()
print(info)
运行结果:
{}
#copy函数,浅复制一个字典
info={
"k1":18,
"k2":True,
"k3":[11,22,{"kk1":"vv1","kk2":"vv2"}]
}
v1=info.copy()
print(v1)
运行结果:
{'k1': 18, 'k2': True, 'k3': [11, 22, {'kk1': 'vv1', 'kk2': 'vv2'}]}
#fromkeys 传递序列,第一个参数作为key,第二个参数作为值
v=dict.fromkeys(["chen","chao","zhen"],111)
print(v)
运行结果:
{'chen': 111, 'chao': 111, 'zhen': 111}
#get 取某个key的值,不存在会返回None,不会报错
v=dict.fromkeys(["chen","chao","zhen"],111)
print(v.get("kk1"))
运行结果:
None
v=dict.fromkeys(["chen","chao","zhen"],111)
print(v.get("chen"))
运行结果:
111
#pop 删除某个key 然后返回该key的值,如果该key没有 可以返回指定的值
v=dict.fromkeys(["chen","chao","zhen"],111)
v1=v.pop("chen")
print(v1)
运行结果:
111
v=dict.fromkeys(["chen","chao","zhen"],111)
v1=v.pop("abb",100)
print(v1)
运行结果:
100
#popitems 随机删除某个key 并返回key和key值
v=dict.fromkeys(["chen","chao","zhen"],111)
v1,v2=v.popitem()
print(v1,v2)
运行结果:
zhen 111
#setdefault 设置某个key的值,已经存在就获取当前key对应的值,不存在就插入该key
v=dict.fromkeys(["chen","chao","zhen"],111)
v1=v.setdefault("chen","123") #chen已经存在,返回key值
v.setdefault("b",12) #b不存在,插入字典
print(v,v1)
运行结果:
{'chen': 111, 'chao': 111, 'zhen': 111, 'b': 12} 111
#update 更新key和key值
v=dict.fromkeys(["chen","chao","zhen"],111)
v.update({"chen":99})
print(v)
运行结果:
{'chen': 99, 'chao': 111, 'zhen': 111}
另外一种书写方式:
v=dict.fromkeys(["chen","chao","zhen"],111)
v.update(chen=99,chao=88,zhen=90)
print(v)
运行结果:
{'chen': 99, 'chao': 88, 'zhen': 90}