码迷,mamicode.com
首页 > 编程语言 > 详细

python14期(2018.7.6)

时间:2018-07-06 22:29:17      阅读:157      评论:0      收藏:0      [点我收藏+]

标签: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 ,如果里面还有列表,就用列表索引

python14期(2018.7.6)

标签:hash算法   get   重复   改变   name   ems   增加   不可   pop   

原文地址:https://www.cnblogs.com/wszms/p/9275664.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!