1. 字典
dict 用{}来表示 键值对数据 {key:value} 唯一性
键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键
值 没有任何限制
dict保存的数据不是按照我们添加进去的顺序保存的.是按照hash表的顺序保存的.而hash表不是连续的.所以不能进行切片工作.
它只能通过key来获取dict中的数据.
注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180801192744301-1840371759.png)
2. 增删改查
1)增加
dic[key] = value
dic.setdefault(key,value) 如果键在字典中存在不进行任何操作,否则就添加
可以通过key查询,没有这个key返回None
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180801192902494-2101387549.png)
====================================================================
2)删除
pop(key) 有返回值 返回的是被删除value
del dic[key]
popitem() 随机删除
clear() 清空字典
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180801192930805-1066006446.png)
======================================================================
3)修改
dic[key] = value
dic.update(字典)
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180801193026146-949271852.png)
=======================================================================
4)查询
get(key)
dic[key]
for 循环
setdefault(key)
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180801193102072-1353391356.png)
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180801193130092-1972734054.png)
=======================================================================
3.字典的其他操作:
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对已元祖的形式存在一个高仿的列表中
解构:
a,b = 1, 2
a,b = (1,2)
a,b = [1,2]
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180801193206571-1423660952.png)
4. 字典的嵌套:
dic = {
'name':'汪峰',
'age':43,
'wife':{
'name':'国际章',
'age':39,
'salary':100000
},
'baby':[
{'name':'熊大','age':18},
{'name':'熊二','age':15},
]
}
dic['baby'][0]['age'] = 19
print(dic)
![](https://images2018.cnblogs.com/blog/1451034/201808/1451034-20180802205241654-2034868810.png)