python中循环遍历for怎么用_python遍历字典的值

python中循环遍历for怎么用_python遍历字典的值在Python中,如何使用“for”循环遍历字典?今天我们将会演示三种方法,并学会遍历嵌套字典。在实战前,我们需要先创建一个模拟数据的字典。dict_1={‘Name’:’Zara’,’Age’:7,’Class’:’First’,’Address’:’Beijing’}方法1:使用For循环+索引进行迭代在Python中遍历字典的最简单方法,是将其直接放入for循环中。Python会自动将dict_1视为字典,并允许你迭代其key键。然后,我们就可以使用索引

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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

python中循环遍历for怎么用_python遍历字典的值

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

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

python中循环遍历for怎么用_python遍历字典的值

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

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

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

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

python中循环遍历for怎么用_python遍历字典的值

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

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

python中循环遍历for怎么用_python遍历字典的值

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

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

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

python中循环遍历for怎么用_python遍历字典的值

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

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

print(dict_1.items())

python中循环遍历for怎么用_python遍历字典的值

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

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

python中循环遍历for怎么用_python遍历字典的值

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

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

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

python中循环遍历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

python中循环遍历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( ) 进行迭代输出。

运行结果如下所示。

python中循环遍历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的字典,运行结果如下所示。

python中循环遍历for怎么用_python遍历字典的值

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

python中循环遍历for怎么用_python遍历字典的值

如果大家觉得本文还不错,记得给个一键三连!


最近我花了两年写的新书已经上市,也算是我在CSDN博客分享Python知识3年的一个总结!

python中循环遍历for怎么用_python遍历字典的值

快学Python:自动化办公轻松实战》点击蓝字查看书籍详情

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170038.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • swoole 查看tcp开启进程数

    swoole 查看tcp开启进程数

    2022年2月12日
    47
  • 记录Depix工具的使用

    记录Depix工具的使用这个月初有一个挺让人振奋的消息,说是出了一款开源去“马赛克“工具,三天就收获了3k+star,现在star数已经达到了13.7k了,项目地址:https://github.com/beurtschipper/Depix。我是没有这种世俗的欲望的,所以当时就没关注,直到昨天”纵横杯”网络安全竞赛Misc中专门出了一个马赛克的题,就给出了下面这张图片师傅们调侃说近视眼摘下眼镜离远一点就能看清楚了,我试了一下只能看出轮廓,但是还是看不清,这就需要用到Depix这个神奇的工具了。我这里是在windows系

    2022年6月29日
    116
  • server2003怎么进入安全模式_windows2003server

    server2003怎么进入安全模式_windows2003serverWINDOWS SERVER 2003 上出现 超过响应缓冲区限制 错误,如何解决?Response 对象 错误 ASP 0251 : 80004005超过响应缓冲区限制/py11g/list.asp,行 0此 ASP 页的执行造成响应缓冲区超过其配置限制。我要RESPONSE.WRITE 的数据量的确非常大,但是必须回写的,如何更改设置或者程序 ———————–

    2022年8月31日
    0
  • synchronized偏向锁和轻量级锁_偏向锁/轻量级锁/重量级锁的原理

    synchronized偏向锁和轻量级锁_偏向锁/轻量级锁/重量级锁的原理今天简单了解了一下java轻量级锁和重量级锁以及偏向锁。看了看这篇文章觉得写的不错原文链接java 偏向锁、轻量级锁及重量级锁synchronized原理Java对象头与Monitorjava对象头是实现synchronized的锁对象的基础,synchronized使用的锁对象是存储在Java对象头里的。对象头包含两部分:Mark Word 和 Class Metadata Address其中Mark Word在默认情况下存储着对象的HashCode、分代年龄、锁标记位等以下是32位JVM的

    2022年8月9日
    7
  • 安卓短信转发qq邮箱

    安卓短信转发qq邮箱fork一个github项目简介准备工作Tips简介最近不怎么带手机,所以收不到一些验证码什么的,所以想搞一个app放手机上将短信以有邮件的形式发送到指定邮箱,然后用电脑查看邮件,这样就可以不用带手机了。在github上找到一个项目叫sms-backup-plus,于是准备在这个项目的基础上进行更改。准备工作安装androidStudio学习kotlin怎么整合java和k…

    2022年9月25日
    0
  • TCPDF_TCP ACK

    TCPDF_TCP ACK新建一个文档对象$pdf=newTCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMAT,true,’UTF-8′,false);页面记得也设为utf-8 AddPage();新建一个pdf文档页面。Image($file,$x,$y,$w,$h,$type,$link,$align…

    2022年9月8日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号