主要内容
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"))