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

1、字典列表,一个列表里面包含多个字典,即列表中嵌套了字典。

示例代码一如下:

#一个简单的字典列表music1 = {'张学友':'情书','刘德华':'十七岁','黎明':'今夜你会不会来','郭富城':'浪漫樱花'};
music2 = {'张学友':'吻别','刘德华':'开心的马骝','黎明':'快乐2000年','郭富城':'动起来'};
music3 = {'张学友':'只想一生跟着你走','刘德华':'冰雨','黎明':'我来自北京','郭富城':'我是不是该安静的走开'};musics = [music1,music2,music3];
for music in musics:print(music);

下面运行后的第一个是列表整体打印的,最下面那个才是上面代码运行过的:

示例代码二,一不小心吧省略号没加括号,竟然还能通过,还打印出Ellipsis省略的意思:

#字典列表示例二musics = [];for number in range(10):new_music = {'张学友':'情书','刘德华':'十七岁','黎明':'今夜你会不会来','郭富城':'浪漫樱花'};musics.append(new_music);for music in musics[0:5]:print(music);
print(...);print("共创建了音乐:" + str(len(musics)));

示例代码三,其中改变了第一个字典里面所有的值,还有第二个字典里面所有的值,然后再循环输出:

#字典列表示例三musics = [];for number in range(10):new_music = {'张学友':'情书','刘德华':'十七岁','黎明':'今夜你会不会来','郭富城':'浪漫樱花'};musics.append(new_music);for music in musics[0:1]:for m in music.keys():if m == '张学友':music[m] = '吻别';elif m == '刘德华':music[m] = '开心的马骝';elif m == '黎明':music[m] = '快乐2000年';elif m == '郭富城':music[m] = '动起来';
for music in musics[1:2]:for m in music.keys():if m == '张学友':music[m] = '只想一生跟着你走';elif m == '刘德华':music[m] = '冰雨';elif m == '黎明':music[m] = '我来自北京';elif m == '郭富城':music[m] = '我是不是该安静的走开';
for m in musics[0:5]:print(m);
print("...");print("共创建了音乐:" + str(len(musics)));

运行后如下图所示:

2、在字典中存储列表,有时候,需要将列表存储在字典中,而不是将字典存储在列表中。每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。示例代码如下:

#字典中存储列表music = {'曹方':['遇见我','风吹过的下雨天'],'金海心':['把耳朵叫醒','那么骄傲'],'张悬':'我的宝贝'
};print(music);for m in music.items():print(m);

运行后如下图所示:

3、在字典中存储字典,在Python中,也可以在字典中存储字典,示例代码如下:

#字典中存储字典users = {'user001':{'realName':'林梓然','age':26,'sex':'男'},'user002':{'realName':'张三丰','age':120,'sex':'男'},'user003':{'realName':'张芷若','age':20,'sex':'女'},
};for userName,userInfo in users.items():print("\n用户名为:" + userName);for name,info in userInfo.items():print(name + "为:" + str(info));

运行后如下图所示:

代码解析:其中先了解字典中嵌套字典的数据是如何的,这里主要截取上面部分代码:

​users = {'user001':{'realName':'林梓然','age':26,'sex':'男'}
};
for userName,userInfo in users.items():print("\n用户名为:" + userName);for name,info in userInfo.items():print(name + "为:" + str(info));

首先定义个字典,字典里面的键为user001,值也为一个字典,所以后面循环的时候,循环第一次得到所有的键和值,此时键是一个字符串,值还是一个字典,接着循环刚才得到的值,就可以得到里面的所有键和值了。如果不清楚时可以在上面加多一点print打印,看下整体的输出。

以上内容仅供大家学习参考,谢谢!

Python学习笔记之字典(三)相关推荐

  1. Python学习笔记:字典(dict)

    Python学习笔记:字典(dict) 字典(dict)可能是最重要的Python内置数据结构,更常用的名称是哈希映射(hash map)或关联数组(associate array).它是键值对的集合 ...

  2. Python学习笔记之字典(一)

    1.什么是字典:在Python中,字典是一系列键-值对.每个键都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将任何Python对象用作字 ...

  3. Python学习笔记之类(三)

    1.什么是继承:编写类时,并非总是要从空白开始.如果你要编写的类是另一个现成类的特殊版本,可使用继承.一个类继承另一个类时,它将自动获得另一个类的所有属性和方法:原有的类称为父类, 而新类称为子类.子 ...

  4. Python学习笔记之字典(二)

    遍历字典:一个Python字典可能包含很多个键值对,在需要获取其数据时,就需要对这个进行遍历,Python支持对字典遍历.字典可用于以各种方式存储信息,其中有多种遍历字典的方式:可遍历字典的所有键值对 ...

  5. python学习笔记(字典)

    字典的使用 现实中的字段及在python中的字段都进行了构建,从而可以轻松查到某个特定的词语(键),从而找到它的意义(值). 某些情况下,字典比列表更加适用: # 表征游戏棋盘的状态,每个键都是由坐标 ...

  6. 案例驱动式Python学习笔记【第三篇】居民身份证信息提取

    驱动案例 居民身份证是每位居民的唯一身份标识,18位的居民身份证号的信息包含省.市.出生日期和性别等信息, 那么本节将介绍如何按需提取相应的信息.居民身份证是每位居民的唯一身份标识,18位的居民身份证 ...

  7. Python学习笔记 - 探索字典Dictionary使用

    大家好,我是Mr数据杨,想象一下如果你是诸葛亮,那么Python字典就好比你的锦囊妙计,为你提供丰富的策略和方法. 首先要定义一个字典.就像诸葛亮的谋略袋里有各种锦囊,字典也包含了不同的"键 ...

  8. python学习笔记05 字典dic增删查改常用操作及嵌套

    字典dic hashable数据(不可变)才能作为key  list不可 ,不是按照我们保存的顺序保存的,可以认为是无序的. 新增 dic["国际章"] = "汪峰的老婆 ...

  9. python学习笔记 day44 数据库三范式

    参考自 https://www.cnblogs.com/wangfengming/articles/7929118.html 1. 数据库三范式概念: 为了建立减少冗余,结构合理的数据库,涉及数据库时 ...

最新文章

  1. element select 不回显_Jsoup中Element对象的使用
  2. 注意!我们熟知的“摩尔定律”被废了...
  3. mini2440的时钟
  4. org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI
  5. Oracle 配置监听和本地网络服务
  6. Transformer-XL: Attentive Language ModelsBeyond a Fixed-Length Context 论文总结
  7. px4代码解析(3)
  8. 写给新入职的毕业生们
  9. 【图像去噪】基于matlab分裂Bregman算法图像去噪【含Matlab源码 1644期】
  10. 计算机网络考研408计算机134分笔记!超级详细!23最新考纲
  11. zwm 2022 纪中集训游记
  12. 微信接口类php,【微信接口库】分享10个常用的php微信接口类
  13. php药膳 源码,药膳
  14. php如何连接数据库 甲骨文,Windows PHP/phpStudy 连接 甲骨文Oracle 数据库 oci8 – 让我们荡起双桨的博客 – CSDN博客...
  15. 免费好用的征集工具 | 玩转穿搭征集、好物征集、攻略征集
  16. Linux查看和结束进程命令详解
  17. 楞严咒全文正确注音版_楞严咒全文注音
  18. 短视频剪辑自学小技巧,掌握并运用,让你的短视频火起来
  19. python第二周day2
  20. 超级签名与企业签名有什么区别,开发者想要做签名分发需要注意什么?怎么防止入坑(当然入坑是必须的)

热门文章

  1. cmd sc命令进行服务操作
  2. 构造activeMQ
  3. Ajax技术原理小结
  4. Javascript面向对象编程(一):对象的产生
  5. 在ie6下remove包含iframe的table所在的容器,会导致页面控件的焦点诡异丢失。
  6. JQuery模拟boostrap模态框效果
  7. axios从入门到源码分析 -http-xhr
  8. 「贪心算法」虚拟汽车加油问题
  9. java 布局实例,HarmonyOS Java UI之StackLayout布局示例
  10. PHP设定美国东部时区,PHP中设置时区方法总结