〖Python全栈白宝书-免费版⑮〗- Python中的字典
Python 字典 全栈 免费版 白宝书
2023-09-14 09:14:26 时间
- 该篇文章为 Python全栈白宝书-免费版试读部分,觉得还可以的小伙伴欢迎订阅下方推荐的 Python全栈白宝书。
- 推荐: Python全栈白宝书专栏,免费阶段订阅数量4300+,购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。
- 福利:加入社区的小伙伴们,除了可以获取博主所有付费专栏的阅读权限之外,还有机会加入 星荐官共赢计划 ,详情请戳我 。
- 推荐他人订阅,可获取扣除平台费用后的35%收益。
- 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,目前任某金融品类App负责人。
- 荣誉:2022年度博客之星Top4、博客专家认证、全栈领域优质创作者、新星计划导师,“星荐官共赢计划” 发起人。
- 现象级专栏《白宝书系列》作者,文章知识点浅显易懂且不失深度;TFS-CLUB社区创立者,旨在以“赋能 共赢”推动共建技术人成长共同体。
- 🏆 白宝书系列专栏
专栏系列(点击解锁) | 学习路线(点击解锁) |
---|---|
Python全栈白宝书 | 零基础入门篇 |
语法进阶篇 | |
自动化办公篇 | |
自动化测试实战篇 | |
数据库开发实战篇 | |
爬虫入门与实战 | |
数据分析篇 | |
前端入门+flask 全栈篇 | |
django+vue全栈篇 | |
拓展-人工智能入门 |
![](https://img-blog.csdnimg.cn/256c498453c34555b54bbd5e28e05422.png#pic_center)
文章目录
⭐️ 什么是字典?
- 字典是由多个键 (key) 及其对应的值 (value) 所组成的一种数据类型
- 字典在 Python 里面是非常重要的数据类型,而且很常用
- 字典是以关键字(键)为索引,关键字(键)可以是任意不可变类型
- 字典由键和对应值成对组成,字典中所有的键值对放在 { } 中间,每一对键值之间用逗号分开
⭐️ 字典的结构与创建方法
- 在 Python 中,dict 代表着字典这一类型,也可以用它定义一个元祖
- 在 Python 中,通过
{}
将一个个 key 与 value 存入字典中, 如person = {'name':'neo', 'age':'18'}
字典通常用于描述对象的各种属性,例如一个人,有姓名、生日、年龄等各种属性,可以使用字典描述如下:
man = {'name': 'neo', 'birthday': '2000-01-01', 'age': '18'}
print(man['name'])
# >>> neo
print(man['birthday'])
# >>> 2000-01-01
print(man['age'])
# >>> 18
- 在第 1 行,创建了一个字典用于描述一个人的属性
- 在第 2 行,使用字符串 'name’作为键(索引)访问字典中对应的值
- 在第 4 行,使用字符串 ‘birthday’ 作为键(索引)访问字典中对应的值
- 在第 6 行,使用字符串 ‘age’ 作为键(索引)访问字典中对应的值
⭐️ 字典支持的数据类型
- key 支持 字符串、数字、元组类型,但不支持列表类型
- 通常是字符串或数字
- 如果一个元组只包含字符串、数字或元组,那么这个元组也可以用作键
- 但如果元组直接或间接地包含了可变对象,那么它就不能用作键
- value 支持所以 Python 的数据类型
person = {'name': 'neo', 'birthday': '2000-01-01', 'age': 18, 'height': 1.75}
print(type(person['name']))
# >>> <class 'str'>
print(type(person['age']))
# >>> <class 'int'>
print(type(person['height']))
# >>> <class 'float'>
特殊情况:声明一个空字典
# 空字典
dict_test = {}
print(dict_test,type(dict_test))
dict_test = dict()
print(dict_test,type(dict_test))
# 输出结果
{} <class 'dict'>
{} <class 'dict'>
⭐️ 在列表与元组中如何定义字典
dict_list = [{'name', 'lily'}, {'age', '17'}]
dict_tuple = ({'name', 'jack'}, {'age', '18'})
# 这里需要注意的是,元组一旦创建,就不可改变。
需要特别注意的是 Python3.7之前的版本字典是无序的,之后版本变为有序。
同时,字典最重要的一个特性,字典中的每一个key一定是唯一的。
⭐️ 字典常见操作
🌟 读取字典
>>> x = {'a':'A', 'b':'B'}
>>> x['a']
'A'
>>> x['b']
'B'
- 在第 1 行,创建一个具有 2 个键值对的字典;
- 在第 2 行,读取键 ‘a’ 对应的值;
- 在第 3 行,结果显示为 ‘A’;
- 在第 4 行,读取键 ‘b’ 对应的值;
- 在第 5 行,结果显示为 ‘B’。
🌟 修改字典
>>> x = {'a':'A', 'b':'B'}
>>> x['a'] = 'AA'
>>> x['b'] = 'BB'
>>> x
{'a':'AA', 'b':'BB'}
- 在第 1 行,创建一个具有 2 个键值对的字典;
- 在第 2 行,修改键 ‘a’ 对应的值为 ‘AA’;
- 在第 3 行,修改键 ‘b’ 对应的值为 ‘BB’;
- 在第 4 行,显示修改后的字典。
🌟 在字典中增加键值对
>>> x = {'a':'A', 'b':'B'}
>>> x['c'] = 'C'
>>> x
{'a':'A', 'b':'B', 'c':'C'}
- 在第 1 行,创建一个具有 2 个键值对的字典;
- 在第 2 行,在字典中增加一个键值对:键为 ‘c’,值为 ‘C’;
- 在第 3 行,显示新增后的字典;
- 在第 4 行,新增后的自动包含 3 个键值对。
🌟 在字典中删除键值对
>>> x = {'a':'A', 'b':'B', 'c': 'C'}
>>> del x['b']
>>> x
{'a':'A', 'c':'C'}
- 在第 1 行,创建一个具有 3 个键值对的字典;
- 在第 2 行,使用 del 语句从字典 x 中删除键 ‘b’ 对应的键值对;
- 在第 3 行,显示删除后的字典;
- 在第 4 行,删除一个键值对后,字典仅包含 2 个键值对。
🌟 查询字典
通过关键字 in 检查字典中是否包含指定元素,示例如下:
>>> x = {'a':'A', 'b':'B'}
>>> 'a' in x
True
>>> 'c' in x
False
- 在第 1 行,创建一个具有 2 个键值对的字典;
- 在第 2 行,使用关键字
in
检测键 ‘a’ 是否在字典 x 中; - 在第 3 行,结果为真,表示键 ‘a’ 在字典 x 中;
- 在第 4 行,使用关键字
in
检测键 ‘c’ 是否在字典 x 中; - 在第 5 行,结果为假,表示键 'c’不在字典 x 中。
⭐️ 关于字典的编程小练习
定义两个字典dict_1和dict_2,将以下三名学生的成绩放入字典中,其中dict_1以学生的姓名作为key,各科成绩作为value;dict_2以学科作为key,学生成绩作为value
姓名 | 英语 | 语文 | 数学 |
---|---|---|---|
huahua | 95 | 98 | 99 |
dandan | 98 | 99 | 100 |
xingxing | 100 | 97 | 98 |
# 以学生的姓名作为key,各科成绩作为value
dict_1 = {'huahua': [95, 98, 99], 'dandan': [98, 99, 100], 'xingxing': [100, 97, 98]}
print('huahua的各科成绩分别是:' + str(dict_1.get('huahua')))
# dict_2以学科作为key,学生成绩作为value
dict_2 = {'英语': [95, 98, 100], '语文': [98, 99, 97], "数学": [99, 100, 98]}
print('三名同学的英语成绩分别是:' + str(dict_2.get('英语')))
相关文章
- 【python】解决sys:1: DeprecationWarning:错误提示
- 如何通过python代码解压zip包
- Python 字典
- 【Python实战】python中含有中文字符无法运行
- Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接
- python-面向对象-12_模块和包
- Python Django 请求重定向的三种方式
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- Python基础——PyCharm版本——第八章、文件I/O(XML)
- 教你用Python 编写 Hadoop MapReduce 程序
- 基于双向 GRU 的文本分类 Python 算法实战
- 遇见神器!cufflinks:一款美不胜收的 Python 可视化工具包!
- Python实现ACO蚁群优化算法优化支持向量机分类模型(SVC算法)项目实战
- Python全栈之路:字典dict常用方法
- Python编程:re正则库基本使用
- Python: yield, python 实现tail -f
- python kafka权限校验client.id
- 【Python实战】 ---- python 自带的 venv 虚拟环境更新 pip 失败