python字典
主要内容
1字典的简单介绍
2字典增删改查和其他操作
3字典的嵌套
一字典的介绍
字典是python中唯一的一个映射类型.在dict中key是唯一的. 在保存的时候, 根据key来计
算出一个内存地址. 然后将key-value保存在这个地址中. 这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的
key'必须是可hash的, 如果你搞不懂什么是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的,
那么可哈希就意味着不可变. 这个是为了能准确的计算内存地址而规定的.
已知的可哈希(不可变)的数据类型: int, str, tuple, bool
不可哈希(可变)的数据类型: list, dict, set
语法 :
{key1: value1, key2: value2....}
注意可以是不可变的(可哈希)的.valiue没有要求.可以保存任意类型的数据
dic = {123:456,True:999,'id':1,'name':'syalr','age':18,'stu'['帅哥','美女']}
key list 和dict 还有set是不可变类型不能作为key
二字典的增删改查
1增加 原始和setdefault
前者可以将key的值改变后者不行
dic = {}
dic = {}
dic['jay']='周杰伦'
dic.setdefault('王小二')
2删除
pop del popitem
解构
a,b = (1,5)
dic = {'猪刚鬣':'元帅','朱元璋':'皇帝',}
dic.pop('朱元璋')#有返回值
dic.clear('朱元璋')#清空列表
dic.popitem('朱元璋')#随机删
del dic['朱元璋'] 删除
改
update
原来的在增介绍过
dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
dic2 = {'age':'59','吴用':'军师'}
dic.update(dic2)#把dic2更新到dic中
查
和列表一样的查
get
dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
print(dic[age])
dic.get('诸葛亮')
其他
keys
dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
print(dic.keys)
for el in dic.keys():
print(el)
print(dic.get(el))
values
dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
for el in dic.valies():
print(el)
items
dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
for k,v in dic.items():
print(k)
print(v)
嵌套
# wangfeng = {
# 'name':'汪峰',
# 'age':46,
# 'wife':{
# 'name':'章子怡',
# 'age':43
# },
# 'children':[
# {'name':'小叮当','age':10},
# {'name':'大叮当','age':16}
# ]
# }
# 汪峰的第二个儿子的年龄
# print(wangfeng.get("children")[1].get("age"))
# print(wangfeng.get("wife").get("name"))
# print(wangfeng.get("name"))

浙公网安备 33010602011771号