python学习日记之字典

字典(dict)

Python中唯一实现了映射关系的内置类型

左边为键 右边为值 写入键的值就可以得到值的值

通过指定一个不存在于字典里的键 就可以生成一个新的键值python学习日记之字典_第1张图片

  • 一、创建方法
  • 创建方法一

                字典名 = {“键1”:”值1”,”键2”:”值2”……}

  1. 创建方法二 dict()函数
    1. 用法一:

                dict(键1 = “值1“,键2 = ”值2“……)

    1. 用法二:

dict([(“键1”,”值1”),(“键2”,”值2”)……]) 使用到元组嵌套列表

    1. 用法三

Dirt({“键1”:”值1”,”键2”:”值2”……}) 将第一种方法作为参数传递给diet

    1. 用法四:

通过指定一个不存在于字典里的键 就可以生成一个新的键值 可混合使用

Dirt({“键1”:”值1”,”键2”:”值2”……},键3 = “值3“)

    1. 用法五:

Dict([“键1”,”键2”,”键3”……],[“值1”,”值2”,”值3”……]) 利用zip()函数python学习日记之字典_第2张图片

  这五种方法是等价的

  • 二、增
      1. fromkeys(iterable[,values])

适用于从无到有创建一个所有键的值都相同的字典

iterable 指定可迭代对象来创建新的字典

values 将字典中所有的值初始化为该参数指定的值

 python学习日记之字典_第3张图片

 python学习日记之字典_第4张图片

可后期再修改某个键的值 如果在字典中找不到对应的键 同样的操作会增加新的键值对

列表中的元素是可以重复的 字典中的键值对是不可以重复的 一个键对应一个值 如果有多个值

新的值会覆盖旧的值

字典是基于散列表实现的,由于 “键的值如果相等,哈希值就必须一致” 的原理,所以 1.0 和 1 在字典中认为是同一个键,对同一个键进行重复赋值,Python 会用新的值去覆盖旧的值。

  • 三、删
      1. pop(key[,default])

删除字典中指定的元素 删除后返回键对应的值

删除不存在的键就会抛出异常 default参数 在不存在对应键时 会返回参数指定的内容python学习日记之字典_第5张图片

      1. popitem()

在python3.7之前 字典是无序的 随机删除一个键值对

在3.7之后 字典是有序的 删除最后一个加入字典的键值对

      1. del关键字

删除一个指定的字典元素

python学习日记之字典_第6张图片

 2.clear()

清空字典中的内容

python学习日记之字典_第7张图片

  • 四、改

只需要指定一个存在于字典中的键就可以修改其对应的值

      1. 逐个赋值操作

字典名[键] = 值

      1. update([other])

可以同时给它传入多个键值对,也可以直接给它传入另外一个字典,或者一个包含键值对的可迭代对象

        python学习日记之字典_第8张图片

  • 五、查
      1. 经典方法

通过键查找值 字典名[键]——返回值 若查找不存在的值会抛出异常

      1. get(key[,default])

default 当找不到键时返回指定的值

      1. setdefault(key[,default])

在字典中查找键是否存在于字典中,存在返回指定的值。若不存在,则给它指定一个新的值。

python学习日记之字典_第9张图片

视图对象

 python学习日记之字典_第10张图片

  • 六、items()、keys()、values()

分别创建键值对、键、值的视图对象

python学习日记之字典_第11张图片

  • 七、reverseed()

Python3.8之后对字典内部的键值对进行逆向操作

python学习日记之字典_第12张图片

  • 八、嵌套

字典同样可进行嵌套(可嵌套列表也可嵌套序列)

但索引时需进行两次索引(列表索引相应换成下标索引值)

python学习日记之字典_第13张图片

  • 字典推导式

可加上筛选

python学习日记之字典_第14张图片

最后一种推导式 键值是唯一的,每一个键值都被覆盖了三次,只取最后一次,即6

  • 十、判断一个值是否在字典中

                值 in 字典名.values()

将字典赋值给变量 变量只是一个标签,这个标签指定的对象(字典)被清空了,那么指向同一个对象的标签得到的也是一个空对象。

源自:小甲鱼B站的python学习课程

你可能感兴趣的:(python,学习,开发语言)