标签:hash算法 get 重复 改变 name ems 增加 不可 pop
6. dict==> 字典, 保存键值对, ?样可以保存?量数据
1. 字典的简单介绍
字典(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没有要求.可以保存任意类型的数据
2. 字典增删改查和其他操作
增加 :dic[“key”] = “value ” 新增(赋值) 如果key重复了,会替换了原来的数据
dic.setdefault(“key” , “value”) 如果你的字典中已经包含了这个key,那么它将不再继续保存,(注意:如果只给key,不给value,那么输出是个空值)
dic.update(dic1) #把dic1中内容更新到dic中,如果key相同,则进行替换,如果不存在,则添加
删除:
dic .pop(“key”) 删除一个元素
Ret = dic .pop(“key”) 删除一个元素,会返回这个元素的value值
del dic[‘key’] 删除一个元素
dic.popitem() 随机删除
ret = dic.popitem() 随机删除 会返回一个元组
例: # dic = {"id":1, ‘name‘:‘李嘉诚‘, ‘money‘:10000000}
# 李嘉诚赔了500
#
dic[‘money‘] = dic[‘money‘] - 500 # 用key去修改
# print(dic)
查:
获取value值: dic[‘key’] 通过查找key.来获取value值 如果key不存在,结果报错
dic.get(‘key’) 通过查找key.来获取value值 如果key不存在, 结果none
dic.get(‘key’ ,’value ’) 如果key不存在,可以给他后面附加一个value值,结果是新的 value值
ret = dic.setdefault(‘key’, ’value ’) 首先判断你原来的字典有没有这个key,如果没有,执行新增,然后再用这个key去字典中查询,返回查到的结果 value
其他操作:
dic.keys() 查询字典里面的所有的key.(拿到所有的key的集合),输出是个高仿列表,可以for循环
dic.values()查询字典里面的所有的value.(拿到所有的value的集合),输出也是个高仿列表,可以for循环
dic.items()拿到键值对,如:[(‘key’, ’value ’ ),(‘key’, ’value ’)]
a, b = 1, 2 适用于元组,列表 解构又叫解包 可以编历dic字典,列表
3. 字典的嵌套
dic.[ “key”] 字典的嵌套,如果都是字典就选key ,如果里面还有列表,就用列表索引
标签:hash算法 get 重复 改变 name ems 增加 不可 pop
原文地址:https://www.cnblogs.com/wszms/p/9275664.html