浅析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 字典dict使用介绍
Nov 30 Python
python中for语句简单遍历数据的方法
May 07 Python
教你用Python写安卓游戏外挂
Jan 11 Python
tensorflow实现softma识别MNIST
Mar 12 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 Python
python实现AES加密与解密
Mar 28 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
python扫描线填充算法详解
Feb 19 Python
python新式类和经典类的区别实例分析
Mar 23 Python
Python 创建守护进程的示例
Sep 29 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&mysql 日期操作小记
2012/02/27 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
PHP Include文件实例讲解
2019/02/15 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Django中Model的使用方法教程
2018/03/07 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
python读取文件指定行内容实例讲解
2020/03/02 Python
python中np是做什么的
2020/07/21 Python
浅析python实现动态规划背包问题
2020/12/31 Python
如何查看python关键字
2021/01/17 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
谢师宴学生答谢词
2015/09/30 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript