【Python入门】Python中的字典dict

1. 字典dict介绍

字典:使用键值对(key:value)来存储数据,每一个键都对应一个值,通过键(key)可以快速找到对应的值(value).

特点:键值对(key:value)存储、键(key)不能重复、可修改。

定义:

python 复制代码
# 定义字典
字典名称 = {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()

代码示例及运行结果:

python 复制代码
# 定义字典
dict1 = {"许立国": 620, "南宫婉": 660, "李慕婉": 630, "王林": 690, "贝罗": 670}

dict1["韩立"] = 680
print("新增键值对后的字典:", dict1)

score = dict1.pop("韩立")
print("删除字典中的韩立:", score)

del dict1["许立国"]
print("删除许立国后的字典:", dict1)

dict1["南宫婉"] = 650
print("修改键值对后的字典:", 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允许
可变性 可变 不可变 不可变 可变 可变
索引访问 支持 支持 支持 不支持 不支持
切片操作 支持 支持 支持 不支持 不支持
使用场景 有序可重复数据集合 文本处理 固定数据记录 去重数据集合 键值对
相关推荐
Warson_L15 小时前
Python `Annotated` 与 LangGraph Reducer 学习笔记
python
韩师傅15 小时前
海天线算法的前世今生
python·计算机视觉
韩师傅15 小时前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
Warson_L16 小时前
LangGraph的MessageState and HumanMessage
python
韩师傅16 小时前
当你的甲方吐槽天空不够蓝,你应该如何应对
python·计算机视觉
Warson_L17 小时前
python的类&继承
python
Warson_L17 小时前
类型标注/type annotation
python
ThreeS19 小时前
手搓MiniVLA全实战教程-一步一步用pytorch解释原理与思路
人工智能·python
金銀銅鐵20 小时前
[Python] 模 n 乘法的逆元计算器
python·数学·游戏