浅析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求算数平方根和约数的方法汇总
Mar 09 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
Dec 09 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
python构建深度神经网络(续)
Mar 10 Python
python高级特性和高阶函数及使用详解
Oct 17 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
python面试题之列表声明实例分析
Jul 08 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
基于python实现图片转字符画代码实例
Sep 04 Python
利用Python+OpenCV三步去除水印
May 28 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
mysql数据库差异比较的PHP代码
2012/02/05 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
python删除不需要的python文件方法
2018/04/24 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
np.dot()函数的用法详解
2020/01/17 Python
python 录制系统声音的示例
2020/12/21 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
类的返射机制中的包及核心类
2016/09/12 面试题
校庆筹备方案
2014/03/30 职场文书
初三学生个人自我评定
2014/04/06 职场文书
介绍长城的导游词
2015/01/30 职场文书
演讲开场白和结束语
2015/05/29 职场文书
公司酒会主持词
2015/07/02 职场文书
活动宣传稿范文
2015/07/23 职场文书
2016年公司“3.12”植树节活动总结
2016/03/16 职场文书
python析构函数用法及注意事项
2021/06/22 Python
在python中读取和写入CSV文件详情
2022/06/28 Python