浅析python 字典嵌套


Posted in Python onSeptember 29, 2020

为什么需要嵌套?

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

字典列表

例如:字典alien_0包含一个外星人的信息,但无法存储第二个外星人的信息。怎么办呢?

我们可以创建三个外星人字典,那么问题来了,我们需要的是大量的外星人,有没有更简单的方式呢?

alien_0 = {'color':'blue','points':'5'}
alien_1 = {'color':'blue','points':'5'}
alien_2 = {'color':'blue','points':'5'}
aliens = []
for number in range(5):
 new_alient = {'color':'blue','points':'5','speed':'slow'}
 aliens.append(new_alient)
for i in aliens:
 print(i)
print(str(len(aliens)))

输出

{'color': 'blue', 'points': '5', 'speed': 'slow'}
{'color': 'blue', 'points': '5', 'speed': 'slow'}
{'color': 'blue', 'points': '5', 'speed': 'slow'}
{'color': 'blue', 'points': '5', 'speed': 'slow'}
{'color': 'blue', 'points': '5', 'speed': 'slow'}
5

这些外星人都有相同的特征。在python看来,每个外星人都是独立的,但是这样并不符合业务需求。

例如:将前三个外星人修改成黄色、速度中等且值为10个点

aliens = []
for number in range(5):
 new_alient = {'color':'blue','points':'5','speed':'slow'}
 aliens.append(new_alient)
for alien in aliens[:3]:
 if alien['color'] == 'blue':
  alien['color'] = 'yellow'
  alien['speen'] = 'medium'
  alien['points'] = 10
for alien in aliens:
 print(alien)

输出

{'color': 'yellow', 'points': 10, 'speed': 'slow', 'speen': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'slow', 'speen': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'slow', 'speen': 'medium'}
{'color': 'blue', 'points': '5', 'speed': 'slow'}
{'color': 'blue', 'points': '5', 'speed': 'slow'}

这里还可以使用if-elif-else语句,更加详细的表述每个外星人的属性。

在字典中存储列表

例如:买煎饼果子的时候,使用列表的话可以描述煎饼果子可以加什么配料。如果使用字典,不仅能描述配料,还能描述煎饼果子的产地等信息

jbgz = {'origin':'天津','toppings':['鸡蛋','香肠']}
print('煎饼果子产地是:' + jbgz['origin'] + '。你可以选择添加:')
for topping in jbgz['toppings']:
 print(topping)

输出

煎饼果子产地是:天津。你可以选择添加:
鸡蛋
香肠

例如:调查程序员们喜欢都喜欢什么编程语言

languages = {
 'jens':['python','java'],
 'sarah':['c','ruby'],
 'hack':['go']
}
for name,language in languages.items():
 print(name.title() + "'s favorite languages are:")
 for i in language:
  print('\t' + i.title())

输出

Jens's favorite languages are:
Python
Java
Sarah's favorite languages are:
C
Ruby
Hack's favorite languages are:
Go

在字典中存储字典

例如:网站内存储每个用户的姓、名、住址,访问这些信息

users = {
 '岳云鹏':{
  '姓':'岳',
  '名':'龙刚',
  '住址':'北京'
 },
 '孟鹤堂':{
  '姓':'孟',
  '名':'祥辉',
  '住址':'北京'
 }
}
for username,user_info in users.items():
 print('\n艺名:'+ username)
 full_name = user_info['姓'] + '' + user_info['名']
 location = user_info['住址']
 print('\t姓名:' + full_name)
 print('\t住址:' + location)

输出

艺名:岳云鹏
姓名:岳龙刚
住址:北京

艺名:孟鹤堂
姓名:孟祥辉
住址:北京

以上就是浅析python 字典嵌套的详细内容,更多关于python 字典嵌套的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
常见的在Python中实现单例模式的三种方法
Apr 08 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
Python统计日志中每个IP出现次数的方法
Jul 06 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
python组合无重复三位数的实例
Nov 13 Python
Python实现繁?转为简体的方法示例
Dec 18 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
python中threading开启关闭线程操作
May 02 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
Python基于pillow库实现生成图片水印
Sep 14 Python
详解基于Scrapy的IP代理池搭建
Sep 29 #Python
Python 创建守护进程的示例
Sep 29 #Python
Python 解析xml文件的示例
Sep 29 #Python
Python 字典一个键对应多个值的方法
Sep 29 #Python
python 获取字典特定值对应的键的实现
Sep 29 #Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 #Python
Python爬取微信小程序通用方法代码实例详解
Sep 29 #Python
You might like
用php和MySql来与ODBC数据连接
2006/10/09 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
javascript如何实现create方法
2019/11/04 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
Python写的一个简单DNS服务器实例
2014/06/04 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
护士自我介绍信
2014/01/13 职场文书
大学旷课检讨书
2014/01/28 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis