浅析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简单文本处理的方法
Jul 10 Python
Python信息抽取之乱码解决办法
Jun 29 Python
Django 连接sql server数据库的方法
Jun 30 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
深入理解Python异常处理的哲学
Feb 01 Python
Python面向对象程序设计之类的定义与继承简单示例
Mar 18 Python
详解用Python练习画个美队盾牌
Mar 23 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
kafka-python 获取topic lag值方式
Dec 23 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
pytorch 限制GPU使用效率详解(计算效率)
Jun 27 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创建Cookie数组的详解
2013/07/03 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
python编写Logistic逻辑回归
2020/12/30 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
职业生涯规划书的格式
2013/12/29 职场文书
职业生涯规划怎么写
2013/12/29 职场文书
铲车司机岗位职责
2014/03/15 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
python 实现体质指数BMI计算
2021/05/26 Python
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
用JS写一个发布订阅模式
2021/11/07 Javascript
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android