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

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. 器学习算法(六)基于天气数据集的XGBoost分类预测

    1.机器学习算法(六)基于天气数据集的XGBoost分类预测 1.1 XGBoost的介绍与应用 XGBoost是2016年由华盛顿大学陈天奇老师带领开发的一个可扩展机器学习系统.严格意义上讲XGBo ...

  2. 原来还能这样看Java线程的状态及转换

    作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试.职业成长相关资料等更多精彩文章在公众号「小牛呼噜噜」 大家好,我是呼噜噜,最近一直在梳理Jav ...

  3. LLaMA:开放和高效的基础语言模型

    LLaMA:开放和高效的基础语言模型 论文:https://arxiv.org/pdf/2302.13971.pdf 代码:https://github.com/facebookresearch/ll ...

  4. JS 一些基本正则校验

    记录下JS一些基本正则校验,以备后需. 1 //手机号码校验 2 function formCheckMobilePhone(data) { 3 var pattern = /^[1-9]{1}\d{ ...

  5. ELF文件格式解析

    ELF(Executable and Linkable Format) 即可执行可链接文件格式,是目前操作系统上最常见的可执行文件格式.不同系统的目标文件不一样,Windows是PE(Portable ...

  6. 13-css兼容性处理(添加前缀)

    const { resolve } = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') const M ...

  7. 04-webpack初体验

    /** * index.js: webpack入口起点文件 * * 1.运行指令: * 开发环境:webpack ./src/index.js -o ./build --mode=developmen ...

  8. 密码学与网安——intro

    Terminology primitive: 原语 (一种不可分割的最基础操作,跟具体的视角和情形有关) 两个时间节点 1949年(1945年):Shannon 提出完全安全性,开始现代密码学 197 ...

  9. 【Visual Leak Detector】在 VS 高版本中使用 VLD

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记. 本篇介绍如何在 VS 高版本中使用 vld2.5.1.同系列文章目录可见 <内存泄漏检测工具>目录 目录 说明 1. 使用前 ...

  10. 【Linux】文本处理及Shell编程

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@CentOS8 ~]# cat /etc/passwd root:x:0 ...