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实现登录人人网并抓取新鲜事的方法
May 11 Python
Python实现简易Web爬虫详解
Jan 03 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
在Python中,不用while和for循环遍历列表的实例
Feb 20 Python
感知器基础原理及python实现过程详解
Sep 30 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
python redis 批量设置过期key过程解析
Nov 26 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 Python
python实现模拟器爬取抖音评论数据的示例代码
Jan 06 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
Feb 22 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
PHP6 先修班 JSON实例代码
2008/08/23 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
Promise.all中对于reject的处理方法
2018/08/01 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
Anaconda入门使用总结
2018/04/05 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
Python中正则表达式的用法总结
2019/02/22 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
python属于跨平台语言码
2020/06/09 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
教师岗位职责
2013/11/17 职场文书
《胡杨》教学反思
2014/02/16 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
秘书英文求职信
2014/04/16 职场文书
体现团队精神的口号
2014/06/06 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
python单向链表实例详解
2022/05/25 Python