浅析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模块之StringIO使用示例
Apr 08 Python
为Python的web框架编写前端模版的教程
Apr 30 Python
Python脚本暴力破解栅栏密码
Oct 19 Python
TensorFlow saver指定变量的存取
Mar 10 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 Python
Python中的四种交换数值的方法解析
Nov 18 Python
python scrapy重复执行实现代码详解
Dec 28 Python
Python 实现训练集、测试集随机划分
Jan 08 Python
Python pip安装模块提示错误解决方案
May 22 Python
python初步实现word2vec操作
Jun 09 Python
python实现人工蜂群算法
Sep 18 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实现递归复制整个文件夹的类实例
2015/08/03 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php-msf源码详解
2017/12/25 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
Python OpenCV获取视频的方法
2018/02/28 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
python实现图片压缩代码实例
2019/08/12 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
物流管理专业职业生涯规划书
2014/01/06 职场文书
施工安全责任书范本
2014/07/24 职场文书
招标承诺书
2014/08/30 职场文书
给老婆的保证书
2015/01/16 职场文书
二手房购房意向书
2015/05/09 职场文书
四风之害观后感
2015/06/09 职场文书
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫