day05 字典 dict

今日内容:

字典

成对的保存数据。 以key:value的形式保存

用{}表示,每一项内容都是key:value, 每项数据之间用逗号隔开

字典中的key是不能重复的。 存储是依靠着key来计算的。

字典是使用hash算法计算key的哈希值. 使用哈希值来存储数据

哈希算法得到的是一个唯一的数字(可能是正数, 可能是负数, 很大或者很小)

哈希算法是无序的

 

字典中的key必须是可哈希的, 不可变的就是可哈希的

字典的value随便改动

注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据

 

不可变: 字符串, 元组, int, bool

可变的: list, dict, set

 

操作

dic = {}

  1. 增加

dic[字典中不存在的key] = value  # key如果重复了。 就会修改

 

# # 流程: 1.先判断key是否存在。 如果存在,就不执行新增, 如果不存在, 执行新增

dic.setdefault(("宫本武藏", "很牛B"))

# dic.setdefault("宫本武藏", "我的宫本很菜") # 如果key存在了就不会再添加了

 

  1. 删除

pop() 指定某个key删除

popitem() 随机删除

del dic[key] 删除

clear() 清空

 

  1. 修改

dic[key] = value  如果key存在,则value覆盖

dic.updae(dic2)  #把dic2中的内容覆盖到dic中 #存在则覆盖,不存在则添加

 

  1. 查询

dic[key]  #如果key不存在则报错

dic.get(‘key’,’返回内容’)  #查询,存在返回value,不存在不报错,默认返回none

 

# 流程: 1. 先检测是否存在key,如果存在,就不执行新增, 如果不存在, 执行新增

#        2. 并且根据你给的key把value查询出来

setdefault() 

  1. 其他操作

keys()  #key的集合

  values()# value的集合

      items() #键值对的集合(key,value)

 

字典的迭代

        for k in dic:

            k #key

                     dic[k]#value

 

 

原文地址:https://www.cnblogs.com/honghong7725/p/9839650.html