【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允许
可变性 可变 不可变 不可变 可变 可变
索引访问 支持 支持 支持 不支持 不支持
切片操作 支持 支持 支持 不支持 不支持
使用场景 有序可重复数据集合 文本处理 固定数据记录 去重数据集合 键值对
相关推荐
“AI国潮设计-小江”11 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc12 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读13 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
外收内放13 小时前
Python基础语法练习题(73)
java·前端·python
锋行天下13 小时前
Langgraph HITL 中断运行,用户输入后输出打字效果
人工智能·python
时早玖沐14 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
触底反弹14 小时前
🚀 FastAPI 五大重难点深度剖析:从 500 报错到彻底搞懂 Depends、Pydantic 与 SQLAlchemy
python·fastapi
cpolar技术支持14 小时前
网关加 gzip,同时开启 chunked,下载回来的包解不开:把两层编码的解压顺序与长度核对做成只读页
python·http·网络编程·socket·内网穿透
小嘉丶学长14 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
迪菲赫尔曼14 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测