一个字典可能只包含几个键值对,也可能包含数百万个键值对,所以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. 实现一个CRDT工具库——PNCounter

    PNCounter 这段代码实现了一个PNCounter,即正负计数器.PNCounter是基于GCounter实现的,GCounter是一个只增不减的计数器,而PNCounter则是在GCounte ...

  2. 如何优雅的使用ipv6穿透内网

    背景 随着ipv6的普及,家庭宽带已经全面支持ipv6,通过简单的设置就可以让自己的内网设备获取到ipv6地址.不过这里的ipv6地址也不是固定,会定期的变化,不过通过DDNS可以解决这个问题.但是这 ...

  3. MyBatisPlus解决逻辑删除与唯一索引的兼容问题

    需求背景 比如有张用户表,在插入或者更新数据的时候,我们需要 用户名称(username),不能重复. 我们首先考虑的是给该字段创建唯一索引 create unique index uni_usern ...

  4. 介绍箭头函数的 this

    由于箭头函数不绑定this, 它会捕获其所在(即定义的位置)上下文的this值, 作为自己的this值 1. 所以 call() / apply() / bind() 方法对于箭头函数来说只是传入参数 ...

  5. vue-element-admin 动态菜单改造

    vue-element-admin 动态菜单改造 vue-element-admin 是一款优秀后台前端解决方案,它基于 vue 和 element-ui实现.开源后台管理系统解决方案项目 Boot- ...

  6. c语言趣味编程(2)借书方案知多少

    一.问题描述 小明有5本新书,要借给A,B,C这三位小朋友,若每次每人只能借一本,则可以有多少种不同的借法? 二.设计思路 (1)定义三个变量a,b,c来代表三位小朋友借的书的编号 (2)利用for循 ...

  7. 笔记:设置redhat 7.2 默认root用户启动以及网络服务自启动

    笔记:设置redhat 7.2 默认root用户启动以及网络服务自启动 1.root用户启动    root用户下打开 /etc/gdm/custom.conf文件,添加字段如下:    [daemo ...

  8. [Opencv-C++] 3. opencv数据类型

    文章目录 Point类 cv::Scalar类 size类 cv::Rect类 cv::RotatedRect类 固定矩阵类 固定向量类 复数类 工具函数 模板结构 Point类 在大多数程序中,Po ...

  9. C++ Primer 5th 阅读笔记:前言

    机器效率和编程效率 Its focus, and that of its programming community, has widened from looking mostly at machi ...

  10. linux安装tomcat,mysql

    环境:centos7.6 ssh连接工具:tabby 安装tomcat 创建目录 mkdir /opt/tomcat 获取tomcat: 1.自己百度下载 2.我这里提供百度网盘 链接:https:/ ...