浅析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中return语句用法实例分析
Aug 04 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
python使用matplotlib绘制折线图教程
Feb 08 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
Apr 18 Python
django自带的server 让外网主机访问方法
May 14 Python
解决tensorflow模型参数保存和加载的问题
Jul 26 Python
Python动态语言与鸭子类型详解
Jul 01 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
python 实现简单的计算器(gui界面)
Nov 11 Python
python如何为list实现find方法
May 30 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使用smtp发送支持附件的邮件示例
2014/04/13 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
原生js实现分页效果
2020/09/23 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python实现从ftp服务器下载文件
2020/03/03 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
毕业生个人求职的自我评价
2013/10/28 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
关于MySQL中的 like操作符详情
2021/11/17 MySQL