一个字典可能只包含几个键值对,也可能包含数百万个键值对,所以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. vue之写发表评论思路

    后端接口 var express = require('express'); const sql = require('../sql') const Comment = require('../sql ...

  2. centos7无网环境安装docker

    1.下载docker的安装文件 https://download.docker.com/linux/static/stable/x86_64/ 由于公司OpenStack用的docker版本是18.0 ...

  3. 镜像搬运工 skopeo

    镜像搬运工 skopeo 介绍 skopeo 是一个命令行工具,可对容器镜像和容器存储进行操作. 在没有dockerd的环境下,使用 skopeo 操作镜像是非常方便的. 安装 # 安装 skopeo ...

  4. Java设计模式 —— 观察者模式

    16 观察者模式 16.1 观察者模式概述 Observer Pattern: 定义对象之间的依赖关系(一对多),当一个对象的状态发生改变时,其关联的依赖对象均收到通知并自动更新. 观察者模式又称:发 ...

  5. python和js实现AES加解密

    小白学习中...... AES算法 AES全称为高级加密标准,是Advanced Encryption Standard的首字母简写.详细了解,可以找专门的资料进行学习. 场景 开发一个web网站过程 ...

  6. 使用 LoRA 和 Hugging Face 高效训练大语言模型

    在本文中,我们将展示如何使用 大语言模型低秩适配 (Low-Rank Adaptation of Large Language Models,LoRA) 技术在单 GPU 上微调 110 亿参数的 F ...

  7. Tmux 使用教程

    本文转载自阮一峰老师的博客文章<Tmux 使用教程>,感谢阮老师! Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具. 本文介绍如何使用 ...

  8. 零样本文本分类应用:基于UTC的医疗意图多分类,打通数据标注-模型训练-模型调优-预测部署全流程。

    零样本文本分类应用:基于UTC的医疗意图多分类,打通数据标注-模型训练-模型调优-预测部署全流程. 1.通用文本分类技术UTC介绍 本项目提供基于通用文本分类 UTC(Universal Text C ...

  9. Rust中的宏:声明宏和过程宏

    Rust中的声明宏和过程宏 宏是Rust语言中的一个重要特性,它允许开发人员编写可重用的代码,以便在编译时扩展和生成新的代码.宏可以帮助开发人员减少重复代码,并提高代码的可读性和可维护性.Rust中有 ...

  10. 笔记:C++学习之旅 ---string 类、vector和迭代器

    string 类 #include <iostream> #include <string> using namespace std; int main() {         ...