基本数据类型(dict)
⼀. 字典的简单介绍
字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成. 在dict中key是 唯⼀的. 在保存的时候, 根据key来计算出⼀个内存地址. 然后将key-value保存在这个地址中. 这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的key'必须是可hash的, 如果你搞不懂什么是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的, 那么可哈希就意味着不可变. 这个是为了能准确的计算内存地址⽽规定的.
已知的可哈希(不可变)的数据类型: int, str, tuple, bool
不可哈希(可变)的数据类型: list, dict, set
语法 :
{key1: value1, key2: value2....}
注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据
dict保存的数据不是按照我们添加进去的顺序保存的. 是按照hash表的顺序保存的. ⽽hash表 不是连续的. 所以不能进⾏切片⼯作. 它只能通过key来获取dict中的数据
⼆. 字典的增删改查和其他相关操作
1. 增加
dic[key] = value
dic.setdefault(key,value) 如果键在字典中存在不进行任何操作,否则就添加
可以通过key查询,没有这个key返回None
如果在字典中存在就不进行任何操作,不存在进行添加.
2. 删除
pop(key) 有返回值 返回的是被删除value
del dic[key]
popitem() 随机删除
clear() 清空字典
3. 修改
dic[key] = value
dic.update(字典)
4. 查询
get(key)
dic[key]
for 循环
setdefault(key)
print(dic['易大师父']) 查看1 没有这个键的时候查询会报错
print(dic.get('易大师','你傻啊,没有!')) 查看2 没有返回None 可以指定返回内容
print(dic.setdefault('易大师范湖')) 查看3 没有返回None
5. 其他相关操作
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对已元祖的形式存在一个高仿的列表中
解构:
a,b = 1, 2
a,b = (1,2)
a,b = [1,2]
三. 字典的嵌套