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

1.遍历所有的键值对

其语法格式:



比如遍历一个人的信息,编写程序如下所示:



这里,我们给键起了一个变量名叫key,给值起了一个变量名叫value,当然叫法是任意的,只不过要遍历键值对,必须要有两个变量,第一个变量转载键,第二个变量装载值。

与遍历列表不同的是,in关键字后面是字典变量名.items()。这里的字典变量名.items()最终的执行结果是返回一个该字典的键值对列表,接下来for循环依次将每个键值对的键和值存储到指定的两个变量中。

2.遍历字典中的所有键

在不需要使用字典中的值时,这里就不需要items函数了,而是需要keys函数,keys函数返回的是包含字典中所有键的列表。其语法格式:



比如调查了部分学员学习python的时间,编写程序如下所示:



遍历字典时,会默认遍历所有的键,因此如果将上述代码的for key in people.keys(): 改为for key in people,输出将不变。编写程序如下所示:



在这种循环中,可使用当前键来访问与之相关联的值,比如我们我们遍历键的同时,用当前键值对信息输出一条语句。编写程序如下所示:

3.遍历字典中的所有值

如果我们想要获取字典中包含的值,可使用values函数,它返回一个值列表,而不包含任何键。

比如我们想着获取学员的学习时间,编写程序如下所示:



我们通过输出结果发现,有两个3个月的输出,是因为这种做法提取字典中的所有值,而没有考虑是否重复。要想去除重复项,这里就需要集合,集合后面会有所介绍,在这里我们先引用下,集合类似于列表,但每个元素都必须是独一无二的

其语法格式:set(列表变量)

编写程序如下所示:



通过对包含重复数据元素的列表调用set函数,可让Python找出列表中独一无二的元素,并使用这些元素来创建一个集合。通过set函数,我们发现原先两个3个月的输出,变为了1个3个月的输出了。

【python基础】复杂数据类型-字典(遍历)的更多相关文章

  1. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  2. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  3. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  4. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  5. Python基础知识(五)------字典

    Python基础知识(四)------字典 字典 一丶什么是字典 ​ dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 ​ 键: 必须是可哈希,(不可变的数据类型 ...

  6. Python基础——原生数据类型(字典,列表,元组,字符串)

    字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...

  7. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  8. python基础之数据类型(二)

    Python3 元组 Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 不可变的tupl ...

  9. Day4 Python基础之数据类型(三)

    计算机中,一切皆为对象 世界万物,皆为对象,一切对象皆可分类 ------------------------------------我是分割线---------------------------- ...

  10. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

随机推荐

  1. 手把手带你从0完成医疗行业影像图像检测三大经典模型InceptionV3-RestNet50-VGG16(附python源代码及数据库)——改变世界经典人工智能项目实战(一)手把手教学迁移学习

    目录 1.迁移学习简介 2.项目简介 3.糖尿病视网膜病变数据集 4.考虑类别不平衡问题 5.定义模型质量 6.定义损失函数 7.预处理图像 8.搭建迁移学习网络 VGG16 迁移学习网络 Incep ...

  2. Unity3D中的Attribute详解(五)

    今天主要来讲一下Unity中带Menu的Attribute. 首先是AddComponentMenu.这是UnityEngine命名空间下的一个Attribute. 按照官方文档的说法,会在Compo ...

  3. 实现和CSS一样的easing动画?直接看Mozilla、Chromium源码!

    前言 在上一篇丝滑的贝塞尔曲线:从数学原理到应用介绍贝塞尔曲线实现动画时给自己留了一个坑,实现的动画效果和CSS的transition-timing-function: cubic-bezier差别较 ...

  4. python标准模块之subprocess

    subprocess --- 子进程管理 源代码: Lib/subprocess.py 写在前面: 感觉也就这俩有用: subprocess.run() subprocess.Popen()   w下 ...

  5. [Linux/JSON]JSON美化工具:json_pp / jq

    json_pp (git-bash内置的用于JSON格式化的管道工具:默认支持) (Linux CentOS7 暂不支持) curl http://localhost:8080/xxxx.json | ...

  6. 4.测试类mapper报错

    1.总结:前几天还有今天一直在弄测试类报错的原因,想着项目是一个大整体,写一个mappe测试类,测试一个mapper,这样后面不会出错: 但是在测试mapper的时候一直,出现mapper值为空的异常 ...

  7. MySQL(三)数据目录

    目录 Mysql的主要目录结构 1 数据库文件的存放路径 /var/lib/mysql/ 2 相关命令目录 /usr/bin/mysql /usr/sbin/mysql 3 配置文件目录 /usr/s ...

  8. Runtime类继Robot类自动登录QQ后改进版2.0

    自动登录QQ2.0上线!!! 最近呢,有很多人问我自动登录QQ的小程序不够完善.看过我上一篇博客的人都知道,在登录QQ时运行Robot移动鼠标不够严谨,有时候会移动出错.很多小伙伴就会说了," ...

  9. 21-HMR

    /* HMR:hot module replacement 热模块替换 / 模块热替换 作用:一个模块发生变化,只会重新打包这一个模块(而不是打包所有模块) 极大提升构建速度 样式文件:可以使用HMR ...

  10. Simulation-计算统计——Monte Carlo

    Monte Carlo Integration 找到原函数,再计算 无法找到原函数,MC积分 Assume that we can generate \(U_1, . . . , U_n \sim U ...