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实现模拟登录及表单提交的方法
Jul 25 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
python装饰器初探(推荐)
Jul 21 Python
python如何实现int函数的方法示例
Feb 19 Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 Python
python中subprocess批量执行linux命令
Apr 27 Python
python数据结构之线性表的顺序存储结构
Sep 28 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
Jan 29 Python
opencv实现简单人脸识别
Feb 19 Python
python的json中方法及jsonpath模块用法分析
Dec 06 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 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
使用PHP求两个文件的相对路径
2013/06/20 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
jquery实现的网页自动播放声音
2014/04/30 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
Python AES加密模块用法分析
2017/05/22 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
Python实现自动整理文件的脚本
2020/12/17 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
党员剖析材料范文
2014/12/18 职场文书
紧急通知
2015/04/17 职场文书
python中的3种定义类方法
2021/11/27 Python
Oracle 触发器trigger使用案例
2022/02/24 Oracle
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android