利用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 相关文章推荐
python实现2014火车票查询代码分享
Jan 10 Python
Python中for循环详解
Jan 17 Python
python通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
Python 创建子进程模块subprocess详解
Apr 08 Python
Python中property函数用法实例分析
Jun 04 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
python3使用matplotlib绘制散点图
Mar 19 Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 Python
Pytest参数化parametrize使用代码实例
Feb 22 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 Python
Python实现单例模式的5种方法
Jun 15 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
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
php计算函数执行时间的方法
2015/03/20 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
提高php编程效率技巧
2015/08/13 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
jQuery实现删除li节点的方法
2016/12/06 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
python下载图片实现方法(超简单)
2017/07/21 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
python如何编写win程序
2020/06/08 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
平安建设实施方案
2014/03/19 职场文书
2015年母亲节寄语
2015/03/23 职场文书
婚宴来宾致辞
2015/07/28 职场文书