首页 > 编程语言 >【python基础】复杂数据类型-字典(嵌套)

【python基础】复杂数据类型-字典(嵌套)

时间:2023-06-13 14:45:43浏览次数:53  
标签:编写程序 python 数据类型 列表 嵌套 键值 所示 字典

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

1.列表嵌套字典

我们可以把一个人的信息放在字典中,但是多个人的信息我们无法放在同一个字典中,所以就需要字典列表。
其语法格式:
[字典1,字典2,,,,,字典n]
编写程序如下所示:
image
现在我们知道了peoples是一个列表变量,peoples的数据元素是两个字典,那么我们如何通过列表来操作字典呢?
比如,我们要修改第二个字典的'name',将值修改为'王五',编写程序如下所示:
image
因为peoples是一个列表,我们先将列表遍历,此时的people就是一个字典变量,我们通过字典的键值对访问找到哪个字典的'name'== '李四',找到之后我们再通过字典的键值对修改,将'name'键的值更新为'王五'即可。

2.字典嵌套列表

有时我们需要将列表存储在字典中,比如一个人的爱好可以有很多,但是爱好是一个人信息中的一项,也就是字典中的一个键值对,其语法格式:
{键1:值1,键2:值2,键3:列表1,,,,键n:值n}
编写程序如下所示:
image
我们现在知道people是一个字典变量,其中有四个键值对,第四个键值对为列表,那么我们如何通过字典来操作列表呢?
比如我们给'hobby'添加一个'乒乓球'的数据元素,编写程序如下所示:
image
因为people是一个字典,通过字典对键值对的访问,将值赋值给一个列表变量hobby,然后通过列表添加数据元素,调用append函数,将'乒乓球'加入列表中。

3.字典嵌套字典

有时需要在字典中嵌套字典,比如一个人的信息中地址信息我们按照省市县进行划分,其语法格式:
{键1:值1,键2:值2,键3:字典1,,,,键n:值n}
编写程序如下所示:
image
我们现在知道people是一个字典变量,其中有四个键值对,第四个键值对为字典,那么我们如何通过字典来操作字典呢?
比如我们给'address'地址信息,加上街道键值对,编写程序如下所示:
image
因为people是一个字典,通过字典对键值对的访问,将值赋值给一个字典变量address,然后通过字典添加键值对的方式,将'jiedao':'xxx街道'添加到address这个字典变量中。

4.三者综合

在列表中嵌套字典,在字典中嵌套列表,在字典中嵌套字典根据数据信息的不同可以随机组合,编写程序如下所示
image
运行结果如下所示:
image
红色横线上面是初始peoples的初始结果,下面是经过数据操作之后的结果。
总而言之,字典与列表之间的嵌套,在程序中种类及层级都是不定的,我们要一层层去抛开数据,获取我们想要的字典或者列表,然后对其进行数据操作。

标签:编写程序,python,数据类型,列表,嵌套,键值,所示,字典
From: https://www.cnblogs.com/lbprogram/p/17477434.html

相关文章

  • windows卸载应用商店python后,导致conda环境变量不可用解决办法
    输入wherepython可以查看命令位置,大概率会出现两行。在windowsstore安装过python之后,在控制台输入python总是会跳转到应用商店,让再次安装Python,原因是在C:\Users\用户名\AppData\Local\Microsoft\WindowsApps目录下生成了python.exe和python3.exe解决方法:在设置->应用->应用和......
  • Python - fibonacci
    Soisthereeveragoodplacetousemutabledefaults?Yes!Mutabledefaultscanbeveryusefulforcachingand/orrecursivealgorithms:deffibonacci(n,cache={0:0,1:1}):ifnincache:returncache[n]else:value=fibonacci(n-......
  • 如何运行python脚本
    在运行Python脚本之前,您需要确保已经安装了Python解释器。可以在终端中输入以下命令检查是否已安装Python:命令窗口输入:python--version如果输出了Python的版本号,则说明您已经安装了Python。如果没有输出,则需要先安装Python。已安装Python后,可以使用以下命令来运行Python脚本:命......
  • UG二次开发NXOpen-Python(十三)内螺纹滚道干涉磨砂轮截形计算
    滚珠螺母内螺纹滚道在加工时,砂轮接杆偏摆角度为滚道螺旋升角,砂轮截形为滚道法向截形。当螺母导程较大时,比如说1616、2020等规格,螺旋升角较大,若按螺旋升角的大小调整砂轮接杆角度,则砂轮接杆会和螺母内孔产生干涉,此时就需要采用其它加工方法,比如说“以车代磨”、“软轴磨”、“......
  • Python实验课7
    实验任务1classAccount:'''一个模拟银行账户的简单类'''def__init__(self,name,account_number,initial_amount=10):'''构造新账户'''self._name=nameself._card_no=account_numb......
  • Python如何把字符串中形如'\uXXXX'的Unicode字符转换为原始字符
    jsonpickle保存的文本有形如"\u6211\u7684"的字符,看起来很不方便,怎么转换为原始字符呢?参考如下代码:importjsonpickle#定义一个包含Unicode编码字符的字符串text="我的名字是\u674e\u5b87\u5b87"#将字符串保存为JSON格式json_string=jsonpickle.encode(text)......
  • ​关于深度学习、NLP和计算机视觉的30个顶级Python库
    正文字数:2214 阅读时长:3分钟再次感谢艾哈迈德·阿尼斯(AhmedAnis)为收集这些数据做出的贡献,并感谢KDnuggets的其他工作人员的意见,见解和建议。作者/ MatthewMayo原文链接/https://www.kdnuggets.com/2020/11/top-python-libraries-deep-learning-natural-language-processing......
  • python入门笔记
     pip批量安装#安装和卸载pipwheel-wpackage_tmp_dir-rrequirement.txtpipdownload-dpackage_tmp_dir-rrequirement.txt#离线下载pipinstall-rrequirement.txtpipuninstallpackage#安装源:pipinstall-ihttps://pypi.douban.com/simple/package_name......
  • 语音情感识别之谱图特征提取(python)
    谱图: 注:FFT(快速傅里叶变换);DFT(离散傅里叶变换);DCT(离散余弦变换);VMD(变分模态分解)MEDC:张钰莎,蒋盛益.基于MFCC特征提取和改进SVM的语音情感数据挖掘分类识别方法研究[J].计算机应用与软件,2020,37(08):160-165+212.VGFCC:刘雨柔,张雪英,陈桂军,黄丽霞,张静.VMD改进GFCC的情......
  • CentOS 升级 Python版本
    1、先到https://www.python.org/downloads/release/python-3114/找到Python的最新版本,tar包,复制下载链接;2、执行命令:wgethttps://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz3、下载完成后执行命令:tar-xzvfPython-3.11.4.tgz4、进入目录Python-3.11.4,执行......