【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允许
可变性 可变 不可变 不可变 可变 可变
索引访问 支持 支持 支持 不支持 不支持
切片操作 支持 支持 支持 不支持 不支持
使用场景 有序可重复数据集合 文本处理 固定数据记录 去重数据集合 键值对
相关推荐
全栈练习生6 小时前
AI Agent 沙箱
python·ai
SEO_juper7 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户8356290780518 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__8 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780518 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_461769409 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_966949659 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿9 小时前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者9 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
weixin199701080169 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存