栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

遍历Python字典

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

遍历Python字典

前言

一个Python字典短则包含一个键值对,长则可能数以百万计。所以我们不会遍历字典可不行。因为Python字典是由一系列键值对组成的,所以我们可以遍历字典的所有键值对、键或值。

1.遍历字典中所有的键值对

我们还是从一个学生字典开始:

student = {'num': '123456', 'name': 'kelvin', 'age': 18}

前面文章中我们知道怎么访问student字典中任何一项的信息,但如果要想访问字典中的所有信息该怎么办呢?

我们可以使用一个 for 循环来遍历这个字典:

student = {'num': '123456', 'name': 'kelvin', 'age': 18}

for key, value in student.items():
    print("nKey: " + key)
    print("Value: " + str(value)) # 因为age对应的是数字类型,所以用str()方法将其转化成字符串

从代码可以看到,我们声明了两个变量 key 和 value 去存储键值对中的键和值。它们可以任意取名。

你甚至可以这样写:

for a, b in student.items():

这样写是没有关系的,不过为了见名知义,我还是建议叫 key 和 value。

眼尖的小伙伴可能注意到 in 后面跟着的不是字典本身,而是 student.items(),它返回的是一个键值对列表,事实上如果你 print(student.items())的话,输出结果如下:

dict_items([('num', '123456'), ('name', 'kelvin'), ('age', 18)])

可见确实是键值对组成的元组列表。

接下来,for 循环依次将每一个键值对元组存储到指定的两个变量中(key和value)。

运行上述遍历student字典的代码:

注意:遍历字典时,键值对的返回顺序可能会与存储顺序不同。事实上,这点对我们编写程序并无影响。

2.遍历字典的所有键

有的时候,我们可能并不关心值是多少,可以使用方法 keys(),keys() 方法会返回一个键列表。

student = {'num': '123456', 'name': 'kelvin', 'age': 18}

for key in student.keys():
    print(key)

上述代码会打印出字典中所有的键:

与遍历所有键值对代码进行比较,会发现 for 后面仅跟着一个变量,而且 in 关键字后面遍历的对象是 student.keys(),我们试着 print(student.keys()) 可以看到 keys() 方法返回的是一个键列表。

我们甚至可以把 keys() 方法省略,因为遍历字典的时候,如果你在 for 后面仅声明一个变量,Python会默认遍历所有的键并依次将键赋值给这个变量。

因此,我们代码也可以这样写:

student = {'num': '123456', 'name': 'kelvin', 'age': 18}
for key in student:
    print(key)

输出结果和上面是一样的。

Python提供了非常灵活的语法,你可以自由地选择自己喜欢的写法。

3.遍历字典中的所有值

有时候我们仅需要遍历字典中的所有值而不关心键到底是什么,可以使用方法 values(),values() 方法会返回一个值列表。

如果我们想打印出学生字典中所有的值:

student = {'num': '123456', 'name': 'kelvin', 'age': 18}

for value in student.values():
    print(value)

运行这段代码,效果如下:


确实打印出了student字典里所有的值。

能够打印出所有值的关键在于 student.values() 方法返回了一个值列表。

Python遍历这个值列表并依次将值赋给 value 变量,然后打印输出。

结尾语

本文主要讲解了Python遍历字典的三种方式,应该还是比较简单的。

笔者一直力求将复杂艰涩的概念讲得浅显易懂,但因为个人能力或许考虑的并不周全。如果您对文中讲的内容有任何疑惑,欢迎私信和我交流。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号