利用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 相关文章推荐
Django实现图片文字同时提交的方法
May 26 Python
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
基于ID3决策树算法的实现(Python版)
May 31 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
python删除过期log文件操作实例解析
Jan 31 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
用python写测试数据文件过程解析
Sep 25 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
Dec 12 Python
python对文件的操作方法汇总
Feb 28 Python
Python requests模块安装及使用教程图解
Jun 30 Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 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
一个数据采集类
2007/02/14 PHP
php下封装较好的数字分页方法
2010/11/23 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
javascript Select标记中options操作方法集合
2008/10/22 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
js中replace的用法总结
2013/12/27 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
tensorflow获取变量维度信息
2018/03/10 Python
python如何为创建大量实例节省内存
2018/03/20 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
Python列表(List)知识点总结
2019/02/18 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
如何定义TensorFlow输入节点
2020/01/23 Python
python中可以声明变量类型吗
2020/06/18 Python
python logging模块的使用详解
2020/10/23 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
DBA的职责都有哪些
2012/05/16 面试题
花店创业计划书范文
2014/02/07 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
毕业生党员个人总结
2015/02/14 职场文书
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL