数据容器——字典(dict)
字典的含义
使用键值对(key:value)来存储数据,每一个键都对应一个值,通过键(key)可以快速找到对应的值(value)
特点
键值对(key:value)存储,键(key)不能重复,可以修改
定义
字典名称 = {key:value,key:value,key:value...}
空字典的定义:
字典名称 = {}
字典名称 = dict()
值 = 字典名称[key] → 根据key获取value
举个栗子:dict1 = {"王琳":675,"李慕婉":608,"徐立国":478}dict2 = {}dict3 = dict()
注意:字典(dict)中的value可以是任何类型的数据,而key不能为可变类型(eg:不能为列表list,集合set,字典dist)
字典的常规操作(增、删、改、查)
| 类型 | 操作 | 含义 | 样例 |
|---|---|---|---|
| 添加 | 字典名称[key] = value | 往指定的字典中添加 key-value 键值对 | dict["张三"] = 688 |
| 删除 | 字典名称.pop(key) | 删除字典中指定的 key,并返回 key 对应的 value | score = dict.pop("你好") |
| 删除 | del 字典名称[key] | 删除字典中指定的 key(无返回值) | del dict["你好"] |
| 修改 | 字典名称[key] = value | 修改字典中指定 key 对应的值 | dict["李四"] = 658 |
| 查询 | 字典名称[key] | 根据 key 获取 value(不存在会报错) | dict["你好"] |
| 查询 | 字典名称.get(key) | 根据 key 获取 value(不存在返回 None) | dict.get("你好") |
| 查询 | 字典名称.keys() | 获取所有的 key | dict.keys() |
| 查询 | 字典名称.values() | 获取所有的 value | dict.values() |
| 查询 | 字典名称.items() | 获取所有的 key-value 键值对 | dict.items() |
最后还有是数据容器之间的异同整理:
| 特性 | 字符串(str) | 列表(list) | 元组(tuple) | 集合(set) | 字典(dict) |
|---|---|---|---|---|---|
| 有序性 | 有序 | 有序 | 有序 | 无序 | 有序(Python 3.7+) |
| 重复元素 | 允许 | 允许 | 允许 | 不允许 | 键不允许重复,值可以重复 |
| 可变性 | 不可变 | 可变 | 不可变 | 可变 | 可变 |
| 索引访问 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 切片操作 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 使用场景 | 文本处理 | 有序可重复数据收集 | 固定数据记录 | 去重数据集合 | 键值对 |
