Python使用字典的嵌套功能详解


Posted in Python onFebruary 27, 2019

当需要存储很多同类型的不通过数据时可能需要使用到嵌套,先用一个例子说明嵌套的使用

1、在列表中存储字典

#假设年级里有一群国际化的学生,有黄皮肤的中国人、有白皮肤的美国人也有黑皮肤的非洲人,只记录部分特征
student_1={'nationality':'China','colour':'yellow','age':'15'}
student_2={'nationality':'America','colour':'white','age':'18'}
student_3={'nationality':'Africa','colour':'dark','age':'17'}
grade = [student_1,student_2,student_3]
for student in grade:
  print(student)

输出:

{‘nationality': ‘China', ‘age': ‘15', ‘colour': ‘yellow'}
{‘nationality': ‘America', ‘age': ‘18', ‘colour': ‘white'}
{‘nationality': ‘Africa', ‘age': ‘17', ‘colour': ‘dark'}

注意,上边的实例中就将字典作为列表的元素进行了嵌套,然后利用列表进行遍历
下边假设年级里有30个同样年龄的中国学生,利用嵌套进行生成

#定义一个存储中国学生的列表,假设年龄都一样
chinese=[]
#创建30个中国学生
for student in range(0,30):
  student_1={'nationality':'China','colour':'yellow','age':'15'}
  chinese.append(student_1)
#显示一共创建了多少个学生
print('一共创建了:'+str(len(chinese))+'个学生')
#显示前5个中国学生
for stu in chinese[:5]:
  print(stu)

输出:

{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}

可是这么多学生的年龄都相同,显得不够自然,我们将前两个中国学生改成美国学生、年龄改成14岁

#定义一个存储中国学生的列表,假设年龄都一样
chinese=[]
#创建30个中国学生
for student in range(0,30):
  student_1={'nationality':'China','colour':'yellow','age':'15'}
  chinese.append(student_1)
#显示一共创建了多少个学生
print('一共创建了:'+str(len(chinese))+'个学生')
for student_c in chinese[0:2]:
  if student_c['nationality']=='China':
    student_c['nationality']='America'
    student_c['colour']='white'
    student_c['age']=14
#显示前5个中国学生
for stu in chinese[:5]:
  print(stu)

输出:

一共创建了:30个学生
{‘colour': ‘white', ‘nationality': ‘America', ‘age': 14}
{‘colour': ‘white', ‘nationality': ‘America', ‘age': 14}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}

备注:学到这里发现列表和字典的知识有点薄弱啊

2、在字典中存储列表

假设有个小店,里边卖了2种粥,但是每种粥的配料都不一样,利用一个字典记录两种粥及其配料

#为了简化就不把配料全写出来了
gruel={
  '八宝粥':['大米','桂圆','红枣','芡实','莲子','薏仁','黑豆','核桃仁'],
  '瘦肉粥':['大米','瘦肉']
  }
for key,value in gruel.items():
  print('\n'+key,end=':')
  for batching in value:
    print(batching, end=' ')

输出:

八宝粥:大米 桂圆 红枣 芡实 莲子 薏仁 黑豆 核桃仁
瘦肉粥:大米 瘦肉

注意:
为了实现print()输出不换行,这里增加了end参数
配料作为列表存储在了字典里

3、在字典中嵌套字典

以班里有两个同学为示例

grade={
  '赵丽颖':{
    '国籍':'中国',
    '民族':'汉',
    '出生日期':'1987年10月16日',
    '身高':'165cm',    
    },
  '杨幂':{
    '国籍':'中国',
    '民族':'汉',
    '出生日期':'1986年9月12日',
    '身高':'166.5cm', 
    }
  }
for name,info in grade.items():
  print(name)
  for key,value in info.items():
    print(key+':'+value)

输出:

杨幂
国籍:中国
民族:汉
出生日期:1986年9月12日
身高:166.5cm
赵丽颖
国籍:中国
民族:汉
出生日期:1987年10月16日
身高:165cm

这一节主要学习了字典的嵌套功能,主要学习了列表中嵌套字典、字典中嵌套列表、字典中嵌套字典的方式实现字典的复杂运用

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python中的异常处理学习笔记
Jan 28 Python
Python获取某一天是星期几的方法示例
Jan 17 Python
python用户管理系统的实例讲解
Dec 23 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
python如何使用socketserver模块实现并发聊天
Dec 14 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
Python 面向对象部分知识点小结
Mar 09 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
python中的split、rsplit、splitlines用法说明
Oct 23 Python
pytorch简介
Nov 11 Python
python pygame 开发五子棋双人对弈
May 02 Python
Python list列表中删除多个重复元素操作示例
Feb 27 #Python
WxPython建立批量录入框窗口
Feb 27 #Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 #Python
Python中类的创建和实例化操作示例
Feb 27 #Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 #Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 #Python
详解Django-restframework 之频率源码分析
Feb 27 #Python
You might like
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
关于js和php对url编码的处理方法
2014/03/04 PHP
javascript AutoScroller 函数类
2009/05/29 Javascript
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
简述vue中的config配置
2018/01/23 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
启动targetcli时遇到错误解决办法
2017/10/26 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
python 切换root 执行命令的方法
2019/01/19 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
python新手学习可变和不可变对象
2020/06/11 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
德国家具折扣店:POCO
2020/02/28 全球购物
幼儿园托班开学寄语
2014/01/18 职场文书
社区党员先进事迹
2014/01/22 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
投标承诺函范文
2015/01/21 职场文书
nginx结合openssl实现https的方法
2021/07/25 Servers