前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python - 从键列表中访问分层dict元素

Python - 从键列表中访问分层dict元素

作者头像
很酷的站长
发布于 2023-12-05 00:41:27
发布于 2023-12-05 00:41:27
8500
举报

假设我有一个常规的"dict-of-dicts"如下:

d = {}d['a'] = {}d['a']['b'] = 3

我当然可以使用它来访问元素d['a']['b'].

在我的例子中,我有一个递归应用程序,在其中我将当前状态保持为键列表.所以我会的

my_key = ['a', 'b']

如何使用my_key?访问值3 ?当然,问题在于my_key可以任意长(深).

我意识到我可以编写另一个遍历函数,但似乎应该有一种直接的方法.有任何想法吗?

1> Kevin..:


您可以使用reduce不同的密钥迭代索引每一层dict:

>>> from functools import reduce #only necessary in 3.X>>> d = {}>>> d['a'] = {} #I'm assuming this is what you meant to type>>> d['a']['b'] = 3>>> keys = ("a", "b")>>> reduce(dict.get, keys, d)3

收藏 | 0点赞 | 0打赏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python 自动化指南(繁琐工作自动化)第二版:五、字典和结构化数据
在这一章中,我将介绍字典数据类型,它提供了一种灵活的方式来访问和组织数据。然后,结合字典和上一章的列表知识,您将学习如何创建一个数据结构来模拟井字棋棋盘。
ApacheCN_飞龙
2023/04/04
1.7K0
Python 自动化指南(繁琐工作自动化)第二版:五、字典和结构化数据
详解Python中列表、元组、字典,所有操作,一网打尽
列表(List)是Python中最常用的数据结构之一,它是一个可变的、有序的元素集合。
Ai学习的老章
2024/09/23
1810
详解Python中列表、元组、字典,所有操作,一网打尽
Python每日一题:标准库
1. 在 Python 中我们经常听到 模块、包、库、标准库、第三方库 这些概念,首先要对这些概念进行区分
用户7685359
2020/08/24
4270
Python每日一题:标准库
Python学习(四)---- 列表生成式、生成器、迭代器和内置函数
https://blog.csdn.net/fgf00/article/details/52061971
智能算法
2018/08/17
1.3K0
30个基本的Python技巧和窍门程序员
1.就地交换两个数字。 Python提供了一种直观的方式来分配和交换一行。请参考下面的例子。 x,y = 10,20print(x,y) x,y = y,xprint(x,y) #1(10,20)#2(20,10) 右边的任务会产生一个新的元组。而左边的那个会立即将那个(未被引用的)元组解包到名称和。 分配完成后,新的元组将被重新引用并标记为垃圾收集。变量的交换也最终发生。 2.链接比较运算符。 比较运算符的聚合是另一个有时候可以派上用场的技巧。 10,结果= 1 n 3.使用三元运算符进行有条件分
企鹅号小编
2018/01/10
7740
30个基本的Python技巧和窍门程序员
Python复习 一
从上边可以看出,list直接复制和list[:]分片复制的结果一样,但其实暗藏心急哦!
Mirror王宇阳
2020/11/13
1.4K0
2.0 Python 数据结构与类型
数据类型是编程语言中的一个重要概念,它定义了数据的类型和提供了特定的操作和方法。在 python 中,数据类型的作用是将不同类型的数据进行分类和定义,例如数字、字符串、列表、元组、集合、字典等。这些数据类型不仅定义了数据的类型,还为数据提供了一些特定的操作和方法,例如字符串支持连接和分割,列表支持排序和添加元素,字典支持查找和更新等。因此,选择合适的数据类型是 python 编程的重要组成部分。
王 瑞
2023/08/11
6720
再再肝3天,整理了70个Python面向对象编程案例
Python 作为一门面向对象编程语言,常用的面向对象知识怎么能不清楚呢,今天就来分享一波
周萝卜
2021/11/24
7480
预备小菜:Python入门之数据结构
如果把程序员比喻成厨师的话,那么数据结构就是初始最常用的工具,那就是锅碗瓢盆。这些也叫容器,因为能存放东西,不管是放切好的菜,还是煮开的水。
马拉松程序员
2023/02/24
6920
预备小菜:Python入门之数据结构
[长文] 学Python不用培训班,一篇文章带你入门
最近有许多小伙伴后台联系我,说目前想要学习Python,但是没有一份很好的资料入门。一方面的确现在市面上Python的资料过多,导致新手会不知如何选择,另一个问题很多资料内容也很杂,从1+1到深度学习都包括,纯粹关注Python本身语法的优质教材并不太多。
TechFlow-承志
2020/05/21
9050
[长文] 学Python不用培训班,一篇文章带你入门
【深度学习】 Python 和 NumPy 系列教程(六):Python容器:4、字典Dictionary详解(初始化、访问元素、常用操作、常用函数、遍历、解析)
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
Qomolangma
2024/07/29
1910
Python 列表、元组、字典及集合操作
注意:当索引超出范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(list1) - 1。
py3study
2020/01/19
1.6K0
教女朋友学 Python 第 3 天:语言元素
之前的文章中,我们已经对 Python 有所了解了,并且也学会了 Pycharm 的安装及使用。现在该开始正式进入主题了,接下来就要学习 Python 的相关语法,以及如何使用他们进行编程。
村雨遥
2021/03/15
9020
Google Python 编程风格指南
Python 是 Google主要的脚本语言。这本风格指南主要包含的是针对python的编程准则。
开发者技术前线
2020/11/23
7810
Google Python 编程风格指南
Python数据类型(字典-Dictionary)_005
字典类型是 Python 中唯一的映射类型(通过一个元素,可以唯一找到另一个元素)
留给昨天、
2024/10/30
1850
【python入门到精通】python常用数据类型详解(二)
整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
大数据小禅
2021/12/20
1.1K0
工具 | 学习总结:当我学完Python我学了些什么
本文是本人学完Python后的一遍回顾,加深理解顺便留作手册以备查阅。 学习Python的这几天来,觉得Python还是比较简单,容易上手的,就基本语法而言,但是有些高级特性掌握起来还是有些难度,需要时间去消化。Python给我最大的印象就是语法简洁,就像写伪代码一样,很多其他语言要用很多行才能实现的操作Python可能几行就搞定了,这让人摆脱了繁杂的语法而专注于问题本身,这也正是我为什么不太喜欢Java的原因之一,虽然它很强大。 一、Python简介 Python是一种用来编写应用程序的高级程序设计语言
CDA数据分析师
2018/02/05
1.1K0
工具 | 学习总结:当我学完Python我学了些什么
python基础语法——函数、列表、元组和字典
本文基于pycharm编译器,也可以使用Anaconda 里的编译器,将讲解一些python的一些基础语法知识,是对上篇文章的补充,可以和我写的python数据分析——Python语言基础(数据结构基础)结合起来看,有些知识点可能在这篇文章写的不是很全面。
鲜于言悠
2024/03/20
3120
python基础语法——函数、列表、元组和字典
35个高级Python知识点总结
众所周知,Java中强调“一切皆对象”,但是Python中的面向对象比Java更加彻底,因为Python中的类(class)也是对象,函数(function)也是对象,而且Python的代码和模块也都是对象。
py3study
2020/01/08
2.4K0
python学习笔记-基础
一、python简介 python语言的特性就是简单优雅,写容易明了的代码,而且尽量写少的代码。python为我们提供了完善的基础代码库,包括网络、文件、DB、文本等。除了内置库外,还有大量第三方库。所以,使用python开发,许多功能不需从零编写,直接使用现成的即可。 python是解释性语言,运行速度与C语言相比较慢。因为,代码是在执行时候翻译为CPU理解的机器码,这个翻译过程较为耗时。而C程序会在运行前先编译为机器码。 二、python基础 # 是注释。通过空格进行缩进,当一行语句以 : 结尾时,缩进
butterfly100
2018/04/16
1K0
推荐阅读
相关推荐
Python 自动化指南(繁琐工作自动化)第二版:五、字典和结构化数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档