09、Python 字典入门 及 高级用法

目录

  • 字典
  • 创建字典
    • 通过key访问value
    • 添加key-value对
    • 删除key-value对
    • 替换key-value对
  • 判断是否包含指定key
  • dict与列表
  • 字典的常用方法
    • 演示:
  • 用字典格式化字符串

创建字典
操作字典key-value对
理解dict与list的关系
字典常用方法
使用字典格式化字符串

字典

字典用于保存具有映射关系的数据,字典相当于保存了两组数据,其中一组数据是关键数据,被称为key;另一组数据可通过key来访问,被称为value。

字典中key和value的关联关系如下图所示,key不允许重复

09、Python 字典入门 及 高级用法_第1张图片

字典(dict) 是可变的,列表也是可变的。
列表的元素可增、删、改,字典中的key-value对也可以增、删、改。

创建字典

两种方式:
花括号法: 花括号应包含多组key-value对,key与value之间用英文冒号隔开;多组key-value对之间用英文逗号隔开
09、Python 字典入门 及 高级用法_第2张图片

dict构造器: 可以传入多个列表或元组参数作为key-value对;也可为dict指定关键字参数创建字典,此时字典的key不允许使用表达式

字典的key必须是不可变的,因此列表不能作为dict的key
09、Python 字典入门 及 高级用法_第3张图片

通过key访问value

在方括号中放的是key,即可通过key访问value
09、Python 字典入门 及 高级用法_第4张图片

添加key-value对

对不存在的key赋值,就是添加key-value对

删除key-value对

使用del语句删除
注意:将指定key赋值为None不能删除key-value对

替换key-value对

对已有key赋值,就会替换该key对应的value

09、Python 字典入门 及 高级用法_第5张图片

判断是否包含指定key

使用in、not in可判断dict是否包含指定key

09、Python 字典入门 及 高级用法_第6张图片

dict与列表

字典相当于索引是任意不可变类型的列表;而列表则相当于key只能是整数的字典。如果程序中要使用的字典的key都是整数类型,则可考虑是不是能换成列表。

列表的索引总是从0开始、连续增大;但字典的索引即使是整数类型,它也不需要从0开始,也不需要连续。因此列表不允许对不存在的索引赋值;但字典则允许直接对不存在的key赋值——这样就会为字典增加一组key-value对。

字典的常用方法

调用dir(dict) 可查看字典的所有方法

clear() 用于清空字典中所有key-value对

get()方法 其实就是根据key来获取value

update()方法 可使用一个字典所包含的key-value对来更新已有的字典

items()、keys()、values() 分别用于获取字典中所有key-value对,所有key、所有value

pop()方法 用于获取、并删除指定key对应的value。

popitem()方法 用于随机地弹出字典中一个key-value对。

setdefault()方法 也用于根据key来获取对应value的值,并为不存在的key设置默认值

fromkeys()方法 使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。

演示:

clear() 用于清空字典中所有key-value对
09、Python 字典入门 及 高级用法_第7张图片
get()方法 其实就是根据key来获取value
09、Python 字典入门 及 高级用法_第8张图片
update()方法 可使用一个字典所包含的key-value对来更新已有的字典

可以这样更新
09、Python 字典入门 及 高级用法_第9张图片
使用update方法:
09、Python 字典入门 及 高级用法_第10张图片

items()、keys()、values() 分别用于获取字典中所有key-value对,所有key、所有value
09、Python 字典入门 及 高级用法_第11张图片
可以进行遍历
遍历所有key
09、Python 字典入门 及 高级用法_第12张图片
遍历所有value
09、Python 字典入门 及 高级用法_第13张图片

遍历所有 key 和 value (就是序列解包)
09、Python 字典入门 及 高级用法_第14张图片

pop()方法 用于获取、并删除指定key对应的value。
09、Python 字典入门 及 高级用法_第15张图片

popitem()方法 用于随机地弹出字典中一个key-value对。
09、Python 字典入门 及 高级用法_第16张图片

setdefault()方法 也用于根据key来获取对应value的值,并为不存在的key设置默认值
09、Python 字典入门 及 高级用法_第17张图片

fromkeys()方法 使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。
09、Python 字典入门 及 高级用法_第18张图片

用字典格式化字符串

可在字符串模板中按key指定变量,然后通过字典为字符串模板中key设置值。

按顺序来匹配:
这个是用元组来格式化字符串,所以它根据位置来填充"占位符"
09、Python 字典入门 及 高级用法_第19张图片

按字典来匹配
这个是用 dict(字典)来格式化字符串,所以它根据 key 来填充"占位符"
09、Python 字典入门 及 高级用法_第20张图片

你可能感兴趣的:(Python,基础知识,Python)