1. 字典dict介绍
字典:使用键值对(key:value)来存储数据,每一个键都对应一个值,通过键(key)可以快速找到对应的值(value).
特点:键值对(key:value)存储、键(key)不能重复、可修改。
定义:
# 定义字典字典名称={key:value,key:value,key:value...}# 定义空字典字典名称={}字典名称=dict{}# 根据 key 获取 value值=字典名称[key]注意点:字典(dict)中的value可以是任何类型的数据,而key不能为可变类型(如,key不可以是列表、集合、字典)
2.字典中的常用方法
字典中的常用方法主要围绕增删改查进行的。
| 方法 | 含义 | 示例 |
|---|---|---|
| 字典名称[key] = value | 往指定字典中添加key-value键值对 | dict1[“韩立”] = 680 |
| 字典名称.pop(key) | 删除字典中指定的key,并返回该key对应的value | score = dict1.pop(“韩立”) |
| del 字典名称[key] | 删除字典中指定的键值对 | del dict1[“许立国”] |
| 字典名称[key] = value | 修改字典中指定的key对应的值 | dict1[“南宫婉”] = 650 |
| 字典名称[key] | 根据key获取value | dict1[“南宫婉”] |
| 字典名称.get(key) | 根据key获取value | dict1.get(“李慕婉”) |
| 字典名称.keys() | 获取所有的key | dict1.keys() |
| 字典名称.values() | 获取所有的value | dict1.values() |
| 字典名称.items() | 获取所有的key-value键值对 | dict1.items() |
代码示例及运行结果:
# 定义字典dict1={"许立国":620,"南宫婉":660,"李慕婉":630,"王林":690,"贝罗":670}dict1["韩立"]=680print("新增键值对后的字典:",dict1)score=dict1.pop("韩立")print("删除字典中的韩立:",score)deldict1["许立国"]print("删除许立国后的字典:",dict1)dict1["南宫婉"]=650print("修改键值对后的字典:",dict1)value1=dict1["南宫婉"]print("获取key为南宫婉的值:",value1)value2=dict1.get("李慕婉")print("获取key为李慕婉的值:",value2)print("获取字典中的所有key:",dict1.keys())print("获取字典中的所有value:",dict1.values())print("获取字典中的所有key-value:",dict1.items())3. 数据容器对比
数据容器有列表(list)、字符串(str)、元组(tuple)、集合(set)、字典(dict),这5者之间的对比,如下表所示:
| 特性 | 列表(list) | 字符串(str) | 元组(tuple) | 集合(set) | 字典(dict) |
|---|---|---|---|---|---|
| 有序性 | 有序 | 有序 | 有序 | 无序 | 有序(Python3.7+) |
| 元素重复 | 允许 | 允许 | 允许 | 不允许 | key不允许,value允许 |
| 可变性 | 可变 | 不可变 | 不可变 | 可变 | 可变 |
| 索引访问 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 切片操作 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 使用场景 | 有序可重复数据集合 | 文本处理 | 固定数据记录 | 去重数据集合 | 键值对 |