遍历字典的学习

一个Python字典可能只包含几个键—值对,也可能包含数百万个键—值对。鉴于字典可能包含大量的数据,Python支持对字典遍历。字典可用于以各种方式存储信息,因此有多种遍历字典的方式:可遍历字典的所有键—值对、键或值。

1.遍历所有的键—值对

下面的字典存储一名用户的用户名、名和姓:

user_0 = {'username': 'zhang','frist': 'jibin','last': 'zhangjibin'}

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

user_0 = {'username': 'zhang','frist': 'jibin','last': 'zhangjibin'}
for key,value in user_0.items():print("\nKey: " +key)print("Value: " +value)

要编写用于遍历字典的for循环,可声明两个变量,用于存储键—值对中的键和值。对于这两个变量,可使用任何名称。
for语句的第二部分包含字典名和方法items(),它返回一个键—值对列表。
for循环依次将每个键—值对存储到指定的两个变量中。
打印结果为:

Key: username
Value: zhangKey: frist
Value: jibinKey: last
Value: zhangjibin

注意,即便遍历字典时,键—值对的返回顺序也与存储顺序不同。
Python不关心键—值对的存储顺序,而只跟踪键和值之间的关联关系。
例如:

favorite_languages = {'zjb': 'python','zhang': 'c','zhangji': 'ruby','zhangjibin': 'java'}for name,language in favorite_languages.items():print(name.title() + "'s favorite language is " + language.title() + ".")

输出结果为:

Zjb's favorite language is Python.
Zhang's favorite language is C.
Zhangji's favorite language is Ruby.
Zhangjibin's favorite language is Java.

2.遍历字典中的所有键

在不需要使用字典中的值时,方法keys()很有用。
例如:

favorite_languages = {'zjb': 'python','zhang': 'c','zhangji': 'ruby','zhangjibin': 'java'}for name in favorite_languages.keys():print(name.title())

输出结果为:

Zjb
Zhang
Zhangji
Zhangjibin

遍历字典时,会默认遍历所有的键。
如果将上述代码中的for name infavorite_languages.keys():替换为for name in favorite_languages:,输出将不变。
在这种循环中,可使用当前键来访问与之相关联的值。
例如:

favorite_languages = {'zjb': 'python','zhang': 'c','zhangji': 'ruby','zhangjibin': 'java'}friends = ['zhangjibin','zhang']
for name in favorite_languages:print("\nname:" + name.title())if name in friends:print("Hi " + name.title() +", I see your favorite language is " +favorite_languages[name].title() + "!")

打印结果为:

name:Zjbname:Zhang
Hi Zhang, I see your favorite language is C!name:Zhangjiname:Zhangjibin
Hi Zhangjibin, I see your favorite language is Java!

3.按顺序遍历字典中的所有键

字典总是明确地记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的。获取与键相关联的正确的值。要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此,可使用函数sorted()来获得按特定顺序排列的键列表的副本:

favorite_languages = {'zjb': 'python','zhang': 'c','zhangji': 'ruby','zhangjibin': 'java'}for name in sorted(favorite_languages.keys()):print(name.title() + ", thank you for taking the poll.")

打印结果为:

Zhang, thank you for taking the poll.
Zhangji, thank you for taking the poll.
Zhangjibin, thank you for taking the poll.
Zjb, thank you for taking the poll.

输出表明,按顺序显示了所有被调查者的名字。

4.遍历字典中的所有值

可使用方法values(),它返回一个值列表,而不包含任何键。
例如:

favorite_languages = {'zjb': 'python','zhang': 'c','zhangji': 'ruby','zhangjibin': 'java'}print("The following languages have been mentioned")
for language in favorite_languages.values():print(language.title())

打印结果为:

The following languages have been mentioned
Python
C
Ruby
Java

最终的列表可能包含大量的重复项。
为剔除重复项,可使用集合(set)。
例如:

favorite_languages = {'zjb': 'python','zhang': 'c','zhangji': 'ruby','zhangjibin': 'python',}print("The following languages have been mentioned")
for language in set(favorite_languages.values()):print(language.title())

打印结果为:

The following languages have been mentioned
C
Python
Ruby

Python -- 关于字典的学习(二)——遍历字典相关推荐

  1. python列表和字典_python使用for遍历字典、列表和字符串的几种方法

    使用for遍历字典: 1.遍历key值,value值(下面写法完全等价): a = {'a': '1', 'b': '2', 'c': '3'} 方式一: for key in a: print(ke ...

  2. Python基础知识——字典:for循环遍历字典

    遍历字典 方法一 使用dict.items()方法来获取字典中所有的键值对. dict_1 = {'a':1,'b':2,'c':3} for key ,value in dict_1.items() ...

  3. python找字符串片段_python – 需要遍历字典才能找到字符串片段

    我有一个函数接受字典作为参数(从另一个有效的函数返回).这个函数应该要求输入一个字符串,并查看字典中的每个元素,看看它是否在那里.字典基本上是三字母缩写:国家,即AFG:阿富汗等等.如果我将'sta' ...

  4. python模块之paramiko学习二

    下面是通过ssh的dsa或rsa公钥验证批量登录服务器执行命令: #!/usr/bin/python #2012/02/02 by larry import paramiko import sys,o ...

  5. Python源码剖析学习二

    Python对象初探 在Python中,一切都是对象.连类型也是一种对象. 在Python中,对象就是为C中的结构体在堆上申请的一块内存.一般来说,对象是不能被静态初始化的,并且也不能在栈空间上生存. ...

  6. python 数据可视化 matplotlib学习二 : 对折线图使用颜色映射

    本节代码依赖上一节代码 颜色映射是一系列颜色,他们从起始颜色渐变到结束颜色,在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值 下面演示如何 ...

  7. python中item是什么意思中文-Python中使用item()遍历字典

    Python中通常使用for...in遍历字典,本文使用item()方法遍历字典. item() item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回. DEMO 代 ...

  8. python 遍历字典的item ,遍历字典的key 和 value

    1 遍历字典子元素 dictionary = {"one": "语文", "two": "数学", "thre ...

  9. python用input输入字典_输入字典python_python输入字典_python用input输入字典 - 云+社区 - 腾讯云...

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本篇将介绍python里面的字典,更多内容请参考:python学习指南 pyth ...

最新文章

  1. GCD介绍(一): 基本概念和Dispatch Queue (转载)
  2. 您的光纤电缆和测试仪是否准备好用于400G以太网?
  3. 一个励志PM小哥哥的Java转型之路
  4. jstat命令(Java Virtual Machine Statistics Monitoring Tool
  5. java 保存的代码怎么写_java实现写入并保存txt文件的示例代码
  6. java 守护进程 linux_Java实现Linux下服务器程序的双守护进程
  7. LeetCode 1071. 字符串的最大公因子
  8. 利用JS实现 TABLE的分页
  9. Eclipse中@author的修改
  10. resent代码详解
  11. VMware Pro16 安装MacOS 11/12教程
  12. FAT文件系统与文件恢复
  13. C语言计算线性方程组
  14. 为什么计算机内存数值存储方式是补码?
  15. 第7课:郭盛华课程_Linux系统的常用操作命令
  16. iOS-马甲包审核以及常见审核问题
  17. 2.3 Openwrt 模拟 spi 及其sx1301寄存器读写测试
  18. 嵌入式软件--单元测试工具介绍
  19. jre8 最新版本下载
  20. 查询数据库的表(字段)名和对应的注释

热门文章

  1. 浏览器缓存带来的前端项目更新问题及解决方法
  2. mysql 流水号_mysql数据库做流水号
  3. 数据库基础:基本概念
  4. 【转录调控网络】典型的基因转录调控网络推导方法——奇异值分解
  5. mac环境下安装drozer
  6. 辽宁省高考成绩2021年在哪里查询,2021年辽宁高考成绩查询系统入口高考查分系统...
  7. 使用IIS搭建本地Web服务器(手把手教程)
  8. 我是做地推的,一个月收入大概2W左右
  9. 常见品牌、型号路由器对应的断开地址,如何在博客蜘蛛软件中设置路由路径
  10. Python selenium使用中遇到的问题总结