利用For循环遍历Python字典的三种方法实例


Posted in Python onMarch 25, 2022

前言

在Python中,如何使用“for”循环遍历字典?

今天我们将会演示三种方法,并学会遍历嵌套字典。

在实战前,我们需要先创建一个模拟数据的字典。

dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'}

利用For循环遍历Python字典的三种方法实例

方法 1:使用 For 循环 + 索引进行迭代

在 Python 中遍历字典的最简单方法,是将其直接放入for循环中。

Python 会自动将dict_1视为字典,并允许你迭代其key键。然后,我们就可以使用索引运算符,来获取每个value值。

for key in dict_1:
    print(key, ":", dict_1[key])

利用For循环遍历Python字典的三种方法实例

如果你想按照字母顺序排列key键,可以使用sorted()方法,具体用法如下所示。

for key in sorted(dict_1):    print(key, ":", dict_1[key])

利用For循环遍历Python字典的三种方法实例

方法 2:使用 .keys( ) + 索引进行迭代

使用.keys()返回包含字典键的 Python 对象的方法,可以获得与方法1相同的结果。同样,它也需要与索引运算符结合使用。

for key in dict_1.keys():
    print(key, '-->', dict_1[key])

利用For循环遍历Python字典的三种方法实例

方法 3:使用 .items( ) 进行迭代

其实,遍历字典的最“pythonic”和优雅的方法,是使用.items()方法。

print(dict_1.items())

利用For循环遍历Python字典的三种方法实例

为了迭代transaction_data字典的键和值,您只需要“解包”嵌入在元组中的两个项目,如下所示:

for k,v in dict_1.items():
    print(k,">>",v)

利用For循环遍历Python字典的三种方法实例

需要注意,k和v只是“键”和“值”的标准别名,但你也可以选择其他命名约定。

比如,我们可以更换成a和b,也会有相同的输出。

for a,b in dict_1.items():
    print(a,"-",b)

利用For循环遍历Python字典的三种方法实例

进阶:遍历嵌套字典

有时候,我们会遇到比较复杂的字典——嵌套字典。

那么这种情况该如何办呢?

dict_2 = {"num_1":{'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'},
          "num_2":{'Name': 'BOb', 'Age': 32, 'Class': 'Six','Address':'Shanghai'},
          "num_3":{'Name': 'Tom', 'Age': 25, 'Class': 'Second','Address':'Wuhan'}}

dict_2

利用For循环遍历Python字典的三种方法实例

为了解开属于每个嵌套字典的键值对,我们可以这样做:

for k, v in dict_2.items():
    if type(v) is dict:
        for nk, nv in v.items():
            print(nk, "→", nv)

通过if语句判断value值是不是字典,如果是,则使用前面提到的方法 3,使用 .items( ) 进行迭代输出。

运行结果如下所示。

利用For循环遍历Python字典的三种方法实例

如果只想解压其中的部分字典,可以在if语句中增加条件。

for k, v in dict_2.items():
    if type(v) is dict and k == 'num_2':
        for sk, sv in v.items():
            print(sk, "-->", sv)

只输出num_2的字典,运行结果如下所示。

利用For循环遍历Python字典的三种方法实例

以上,就是在Python中使用“for”循环遍历字典的小技巧了。

总结

到此这篇关于利用For循环遍历Python字典的三种方法的文章就介绍到这了,更多相关For循环遍历Python字典内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
Python中py文件引用另一个py文件变量的方法
Apr 29 Python
python获取url的返回信息方法
Dec 17 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
Pycharm中如何关掉python console
Oct 27 Python
python中doctest库实例用法
Dec 31 Python
Python中threading库实现线程锁与释放锁
May 17 Python
python如何读取和存储dict()与.json格式文件
Jun 25 Python
Python装饰器详细介绍
Mar 25 #Python
python中数组和列表的简单实例
Mar 25 #Python
Python if else条件语句形式详解
python中的getter与setter你了解吗
Mar 24 #Python
Python编程中内置的NotImplemented类型的用法
Mar 23 #Python
pandas进行数据输入和输出的方法详解
Mar 23 #Python
基于Python编写简易版的天天跑酷游戏的示例代码
You might like
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
python实用代码片段收集贴
2015/06/03 Python
python3使用urllib模块制作网络爬虫
2016/04/08 Python
Swift中的协议(protocol)学习教程
2016/07/08 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
django解决跨域请求的问题
2018/11/11 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python join方法使用详解
2019/07/30 Python
Keras设置以及获取权重的实现
2020/06/19 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
大学生毕业自我鉴定范文
2013/11/03 职场文书
全陪导游欢迎词
2014/01/17 职场文书
材料会计岗位职责
2014/03/06 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
爱心捐书倡议书
2015/04/27 职场文书
经费申请报告
2015/05/15 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
修辞手法有哪些?
2019/08/29 职场文书
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis