十二章 Python入门系列之字典
系列文章目录
第一章 Python入门系列之介绍
第二章 Python入门系列之PyCharm
第三章 Python入门系列之注释
第四章 Python入门系列之变量
第五章 Python入门系列之输出和输入
第六章 Python入门系列之数据类型转换和运算符
第七章 Python入门系列之条件语句
第八章 Python入门系列之循环
第九章 Python入门系列之字符串处理
第十章 Python入门系列之列表
十一章 Python入门系列之元组
字典
- 系列文章目录
- 一、字典的应用场景
- 二. 创建字典的语法
- 三、字典常见操作
- 1. 增
- 2. 删
- 3. 改
- 4. 查
- 4.1 key值查找
- 4.2 get()
- 4.3 keys()
- 4.4 values()
- 4.5 items()
- 四、字典的循环遍历
- 1. 遍历字典的key
- 2. 遍历字典的value
- 3. 遍历字典的元素
- 4. 遍历字典的键值对
一、字典的应用场景
思考1: 如果有多个数据,例如:‘Tom’, ‘男’, 20,如何快速存储?
答:列表
list1 = ['Tom', '男', 20]
思考2:如何查找到数据’Tom’?
答:查找到下标为0的数据即可。
list1[0]
思考3:如果将来数据顺序发生变化,如下所示,还能用list1[0]
访问到数据’Tom’吗?。
list1 = ['男', 20, 'Tom']
答:不能,数据’Tom’此时下标为2。
思考4:数据顺序发生变化,每个数据的下标也会随之变化,如何保证数据顺序变化前后能使用同一的标准查找数据呢?
答:字典,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。
二. 创建字典的语法
字典特点:
- 符号为大括号
- 数据为键值对形式出现
- 各个键值对之间用逗号隔开
# 有数据字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}# 空字典
dict2 = {}dict3 = dict()
注意:一般称冒号前面的为键(key),简称k;冒号后面的为值(value),简称v。
三、字典常见操作
1. 增
写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}dict1['name'] = 'Rose'
# 结果:{'name': 'Rose', 'age': 20, 'gender': '男'}
print(dict1)dict1['id'] = 110# {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
print(dict1)
注意:字典为可变类型。
2. 删
- del() / del:删除字典或删除字典中指定键值对。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}del dict1['gender']
# 结果:{'name': 'Tom', 'age': 20}
print(dict1)
- clear():清空字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}dict1.clear()
print(dict1) # {}
3. 改
写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值 ;如果key不存在则新增此键值对。
4. 查
4.1 key值查找
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1['name']) # Tom
print(dict1['id']) # 报错
如果当前查找的key存在,则返回对应的值;否则则报错。
4.2 get()
- 语法
字典序列.get(key, 默认值)
注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
- 快速体验
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.get('name')) # Tom
print(dict1.get('id', 110)) # 110
print(dict1.get('id')) # None
4.3 keys()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
4.4 values()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.values()) # dict_values(['Tom', 20, '男'])
4.5 items()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.items()) # dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
四、字典的循环遍历
1. 遍历字典的key
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key in dict1.keys():print(key)
2. 遍历字典的value
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for value in dict1.values():print(value)
3. 遍历字典的元素
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for item in dict1.items():print(item)
4. 遍历字典的键值对
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key, value in dict1.items():print(f'{key} = {value}')
十二章 Python入门系列之字典相关推荐
- 第十二章 Python文件操作【转】
12.1 open() open()函数作用是打开文件,返回一个文件对象. 用法格式:open(name[, mode[, buffering[,encoding]]]) -> file obj ...
- 第八章 Python入门系列之循环
系列文章目录 第一章 Python入门系列之介绍 第二章 Python入门系列之PyCharm 第三章 Python入门系列之注释 第四章 Python入门系列之变量 第五章 Python入门系列之输 ...
- python从入门到实践十二章
python编程从入门到实践12章 今天看了星球里面一位学长的经历,感到很受鼓舞,他参加工作三年了,三月份到四月份自学完了三本书,感到和学长差距很大,我要努力去弥补! 决定首先开始三本书,廖雪峰的py ...
- python 基础系列(十二) — python正则
python 基础系列(十二) - python正则 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独 ...
- 八十二、Python | Leetcode贪心算法系列
@Author:Runsen @Date:2020/7/5 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- 七十二、Python | Leetcode字符串系列(下篇)
@Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- python 宝典 笔记 第十二章 存储数据和对象 (各种对象转换成字符串)
第十二章 存储数据和对象 12.1数据存储概述 12.1.1文本与二进制对比 文本格式易于阅读和调试,跨平台性能好.二进制格式占用空间小,适于按记录存取. 12.1.2压缩 假如对象的大小开始成为问题 ...
- 【Python】【进阶篇】十二、Python爬虫的Xpath简明教程(十分钟入门)
目录 十二.Python爬虫的Xpath简明教程(十分钟入门) 12.1 Xpath表达式 12.2 Xpath节点 12.3 节点关系 12.4 Xpath基本语法 12.4.1 基本语法使用 12 ...
- 【Python】【入门篇】十二、Python中协程
目录 十二.Python中协程 12.1 协程的定义 12.2 协程 12.3 协程池 12.4 总结 十二.Python中协程 12.1 协程的定义 协程(Coroutine):是一种比线程更加轻量 ...
最新文章
- pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format)
- CodeBlcoks插件
- 百一测评mysql数据库答案_MySQL练习题,百炼成神~
- 2D简单图形相关算法罗列
- DTMF--VAD 项目分析
- C#获取当前路径的方法集合
- java特性,健壮性,程序设计风格及文档
- Android用户界面
- python编程入门与案例详解-Pythony运维入门之Socket网络编程详解
- 【网络安全】从零开始的CTF生活
- C++主线程与子线程的关系
- R语言图表排版之一页多图
- Linux系统Anaconda下载安装教程
- 【个人总结版】实验报告书写指导
- Python语言程序设计基础_答案_前言_通识教育必修课程_上海师范大学
- Springboot AOP接口防刷、防重复提交
- springboot实现oos上传下载
- JavaScript高级第04天笔记
- Minitab中的一些最常用的功能和任务。
- 事情永远都没有想象中那么好
热门文章
- html论坛发帖案例
- 史上最短命!由于BUG微软撤回Win10更新
- weblogic新建一个managed server并启动
- ei指什么_EI是什么
- vue+ts的书写规范
- 不登高山,不知天之高也;不临深溪,不知地之厚也
- 微信公众平台消息管理与群发图文教程
- 累次积分怎么计算_把下列累次积分化为极坐标的累次积分,并计算其值 (3)
- 入职地府后我成了人生赢家_129、新鬼入职|入职地府后我成了人生赢家|入职地府后我成了人生赢家章节阅读-龙族小说网...
- SPRD Android12 设备解锁