浅析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调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
python如何将多个PDF进行合并
Aug 13 Python
基于Python实现剪切板实时监控方法解析
Sep 11 Python
python中栈的原理及实现方法示例
Nov 27 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
Python基于staticmethod装饰器标示静态方法
Oct 17 Python
python try...finally...的实现方法
Nov 25 Python
宝塔更新Python及Flask项目的部署
Apr 11 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 页面执行时间计算代码
2008/12/04 PHP
php 使用post,get的一种简洁方式
2010/04/25 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
JQuery 写的个性导航菜单
2009/12/24 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python人人网登录应用实例
2014/09/26 Python
python正则表达式match和search用法实例
2015/03/26 Python
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
Python 面试中 8 个必考问题
2018/11/16 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
np.dot()函数的用法详解
2020/01/17 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
法学专业个人求职信
2013/09/26 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
信息专业大学生自我评价分享
2014/01/17 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
终止劳动合同协议书
2014/04/14 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
中学教师个人总结
2015/02/10 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python