有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。我们可以在列表中嵌套字典、在字典中嵌套列表、在字典中嵌套字典。

1.列表嵌套字典

我们可以把一个人的信息放在字典中,但是多个人的信息我们无法放在同一个字典中,所以就需要字典列表。

其语法格式:

[字典1,字典2,,,,,字典n]

编写程序如下所示:



现在我们知道了peoples是一个列表变量,peoples的数据元素是两个字典,那么我们如何通过列表来操作字典呢?

比如,我们要修改第二个字典的'name',将值修改为'王五',编写程序如下所示:



因为peoples是一个列表,我们先将列表遍历,此时的people就是一个字典变量,我们通过字典的键值对访问找到哪个字典的'name'== '李四',找到之后我们再通过字典的键值对修改,将'name'键的值更新为'王五'即可。

2.字典嵌套列表

有时我们需要将列表存储在字典中,比如一个人的爱好可以有很多,但是爱好是一个人信息中的一项,也就是字典中的一个键值对,其语法格式:

{键1:值1,键2:值2,键3:列表1,,,,键n:值n}

编写程序如下所示:



我们现在知道people是一个字典变量,其中有四个键值对,第四个键值对为列表,那么我们如何通过字典来操作列表呢?

比如我们给'hobby'添加一个'乒乓球'的数据元素,编写程序如下所示:



因为people是一个字典,通过字典对键值对的访问,将值赋值给一个列表变量hobby,然后通过列表添加数据元素,调用append函数,将'乒乓球'加入列表中。

3.字典嵌套字典

有时需要在字典中嵌套字典,比如一个人的信息中地址信息我们按照省市县进行划分,其语法格式:

{键1:值1,键2:值2,键3:字典1,,,,键n:值n}

编写程序如下所示:



我们现在知道people是一个字典变量,其中有四个键值对,第四个键值对为字典,那么我们如何通过字典来操作字典呢?

比如我们给'address'地址信息,加上街道键值对,编写程序如下所示:



因为people是一个字典,通过字典对键值对的访问,将值赋值给一个字典变量address,然后通过字典添加键值对的方式,将'jiedao':'xxx街道'添加到address这个字典变量中。

4.三者综合

在列表中嵌套字典,在字典中嵌套列表,在字典中嵌套字典根据数据信息的不同可以随机组合,编写程序如下所示



运行结果如下所示:



红色横线上面是初始peoples的初始结果,下面是经过数据操作之后的结果。

总而言之,字典与列表之间的嵌套,在程序中种类及层级都是不定的,我们要一层层去抛开数据,获取我们想要的字典或者列表,然后对其进行数据操作。

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

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

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

  2. Python基础之数据类型

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

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

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

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

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

  5. 『Python基础-10』字典

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

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

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

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

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

  8. Python基础2 列表 字典 集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

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

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

  10. python基础——列表、字典

    Python核心数据类型--列表 列表是一个任意类型的对象的位置相关的有序集合,它没有固定的大小.大小可变的,通过偏移量进行赋值以及其他各种列表的方法进行调用,能够修改列表.其他更多的功能可以查阅py ...

随机推荐

  1. 剑指 offer 第 2 天

    第 2 天 链表(简单) 剑指 Offer 06. 从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2, ...

  2. NLP 开源形近字算法之相似字列表(番外篇)

    创作目的 国内对于文本的相似度计算,开源的工具是比较丰富的. 但是对于两个汉字之间的相似度计算,国内基本一片空白.国内的参考的资料少的可怜,国外相关文档也是如此. 本项目旨在抛砖引玉,实现一个基本的相 ...

  3. CentOS安装时钟同步服务

    使用chrony用于时间同步 yum install chrony -y vim /etc/chrony.conf cat /etc/chrony.conf | grep -v "^#&qu ...

  4. python数据类型、变量以及编码和字符串、格式化

    1.数据类型包括整型.浮点型.字符串.布尔型. 整数如果位数太多可以用_隔开,浮点数可以用科学记数法表示,字符串要用单引号或者双引号括起来,布尔型的值只能为True和False 2.变量可以由数字.字 ...

  5. MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图

    MQTT(EMQX) - Linux CentOS Docker 安装 MQTT 概述 MQTT (Message Queue Telemetry Transport) 是一个轻量级传输协议,它被设计 ...

  6. Spring入门系列:浅析知识点

    前言 讲解Spring之前,我们首先梳理下Spring有哪些知识点可以进行入手源码分析,比如: Spring IOC依赖注入 Spring AOP切面编程 Spring Bean的声明周期底层原理 S ...

  7. Dapr和Rainbond集成,实现云原生BaaS和模块化微服务开发

    背景 Dapr 是一个开源的分布式应用运行时,帮助开发者构建松耦合的分布式应用程序,具有良好的可扩展性和可维护性.Rainbond 是一款企业级的云原生应用管理平台,提供了丰富的功能和工具,方便开发者 ...

  8. nginx自定义负载均衡及根据cpu运行自定义负载均衡

    转载请注明出处: 1.nginx如何自定义负载均衡 在Nginx中,可以通过配置文件自定义负载均衡策略.具体步骤如下: 首先,在Nginx配置文件中定义一个upstream模块,并设置负载均衡策略和后 ...

  9. Kubuesphere部署Ruoyi(三):持久化存储配置

    按照如下教程配置NFS 先服务器: https://kubesphere.io/zh/docs/v3.3/reference/storage-system-installation/nfs-serve ...

  10. docker启动mysql报错Can't read dir of '/etc/mysql/conf.d/'

    执行命令: docker run -p 3306:3306 --privileged=true -v /mysql/data:/var/lib/mysql -v /mysql/log:/var/log ...