欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

day05 字典 dict

程序员文章站 2022-04-15 11:13:25
今日内容: 字典 成对的保存数据。 以key:value的形式保存 用{}表示,每一项内容都是key:value, 每项数据之间用逗号隔开 字典中的key是不能重复的。 存储是依靠着key来计算的。 字典是使用hash算法计算key的哈希值. 使用哈希值来存储数据 哈希算法得到的是一个唯一的数字(可 ......

今日内容:

字典

成对的保存数据。 以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