浅析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网络编程学习笔记(三):socket网络服务器
Jun 09 Python
Python 制作糗事百科爬虫实例
Sep 22 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
解决pycharm无法调用pip安装的包问题
May 18 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
Jun 17 Python
Python函数中的可变长参数详解
Sep 12 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
Feb 12 Python
python中reload重载实例用法
Dec 15 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代码(星期六,星期日总和)
2009/11/12 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
PHP Cookie学习笔记
2016/08/23 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
python实现用于测试网站访问速率的方法
2015/05/26 Python
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
numpy.random模块用法总结
2019/05/27 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
美国著名手表网站:Timepiece
2017/11/15 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
《大海那边》教学反思
2014/04/09 职场文书
最美家庭活动方案
2014/08/31 职场文书
大学生见习报告范文
2014/11/03 职场文书
农业项目合作意向书
2015/05/08 职场文书