浅析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获取任意xml节点值的方法
May 05 Python
在Python中处理时间之clock()方法的使用
May 22 Python
Python正规则表达式学习指南
Aug 02 Python
详解python3实现的web端json通信协议
Dec 29 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
Jul 17 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
基于Django静态资源部署404的解决方法
Jul 28 Python
Python基础之tkinter图形化界面学习
Apr 29 Python
python中24小时制转换为12小时制的方法
Jun 18 Python
Python 文字识别
May 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 access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
List Installed Software Features
2007/06/11 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
python实现图片处理和特征提取详解
2017/11/13 Python
Python语言描述最大连续子序列和
2017/12/05 Python
快速了解Python相对导入
2018/01/12 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
新闻专业个人求职信
2013/12/19 职场文书
会计专业毕业生自荐信范文
2013/12/20 职场文书
支教自我鉴定
2014/01/18 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
婚宴新娘致辞
2015/07/28 职场文书
python实现简单的聊天小程序
2021/07/07 Python
Python torch.flatten()函数案例详解
2021/08/30 Python
聊聊redis-dump工具安装问题
2022/01/18 Redis