浅析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中用fork()函数生成的子进程
May 04 Python
python绘制铅球的运行轨迹代码分享
Nov 14 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 Python
Python字典的核心底层原理讲解
Jan 24 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
python 中的列表生成式、生成器表达式、模块导入
Jun 19 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
Python try except异常捕获机制原理解析
Apr 18 Python
Keras-多输入多输出实例(多任务)
Jun 22 Python
python ansible自动化运维工具执行流程
Jun 24 Python
在 Python 中利用 Pool 进行多线程
Apr 24 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版本到PHP7
2015/02/06 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
PHP异常处理Exception类
2015/12/11 PHP
php日期操作技巧小结
2016/06/25 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
javascript基础知识讲解
2017/01/11 Javascript
微信小程序如何获取用户头像和昵称
2019/09/23 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
python 接口返回的json字符串实例
2018/03/27 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
原装进口全世界:天猫国际
2016/08/03 全球购物
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
大学毕业生的自我鉴定
2013/11/30 职场文书
户籍证明的格式
2014/01/13 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
DIY胆机必读:各国电子管评价
2022/04/06 无线电