浅析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 pickle 和 shelve模块的用法
Sep 16 Python
利用Python中的输入和输出功能进行读取和写入的教程
Apr 14 Python
Python自动扫雷实现方法
Jul 25 Python
python利用paramiko连接远程服务器执行命令的方法
Oct 16 Python
Python读取系统文件夹内所有文件并统计数量的方法
Oct 23 Python
Python中flatten( )函数及函数用法详解
Nov 02 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
PyQt5 QTableView设置某一列不可编辑的方法
Jun 25 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 Python
利用Python判断你的密码难度等级
Jun 02 Python
python四种出行路线规划的实现
Jun 23 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
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
详解Python3中字符串中的数字提取方法
2017/01/14 Python
理解python中生成器用法
2017/12/20 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
python爬虫要用到的库总结
2020/07/28 Python
python em算法的实现
2020/10/03 Python
Python基于Faker假数据构造库
2020/11/30 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
法律专业应届本科毕业生求职信
2013/10/25 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
质量提升方案
2014/06/16 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
见习期个人总结
2015/03/05 职场文书
送达通知书
2015/04/25 职场文书
车间班组长竞聘书
2015/09/15 职场文书
Log4j.properties配置及其使用
2021/08/02 Java/Android
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL