python字典嵌套列表怎么访问值的某个元素_通过键列表访问嵌套字典项?
使用reduce()翻阅字典:from functools import reduce # forward compatibility for Python 3import operatordef getFromDict(dataDict, mapList):
return reduce(operator.getitem, mapList, dataDict)
再利用getFromDict若要查找要存储值的位置,请执行以下操作setInDict():def setInDict(dataDict, mapList, value):
getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value
除了最后一个元素mapList需要找到要添加值的“父”字典,然后使用最后一个元素将值设置为正确的键。
演示:>>> getFromDict(dataDict, ["a", "r"])1>>> getFromDict(dataDict, ["b", "v", "y"])2>>> setInDict(dataDict, ["b", "v", "w"], 4)>>>
import pprint>>> pprint.pprint(dataDict){'a': {'r': 1, 's': 2, 't': 3},
'b': {'u': 1, 'v': {'w': 4, 'x': 1, 'y': 2, 'z': 3}, 'w': 3}}
注意,PythonPEP 8样式指南为函数规定了Snake_case名称..上面的方法同样适用于列表或字典和列表的混合,所以名称应该是get_by_path()和set_by_path():from functools import reduce # forward compatibility for Python 3import operatordef get_by_path(root, items):
"""Access a nested object in root by item sequence."""
return reduce(operator.getitem, items, root)def set_by_path(root, items, value):
"""Set a value in a nested object in root by item sequence."""
get_by_path(root, items[:-1])[items[-1]] = value
python字典嵌套列表怎么访问值的某个元素_通过键列表访问嵌套字典项?相关推荐
- Python学习笔记 -- 列表2: 遍历:嵌套列表, 将其中同位置的元素组成新的列表
#遍历:嵌套列表, 将其中同位置的元素组成新的列表 lsts = [[1,2,3], [4,5,6],[7,8,9],[10,11,12]]ret_x = [x for [x,y,z] in lsts ...
- python 无序列表中第k大元素_查询无序列表中第K小元素
当需要在无需列表中寻找第k小的元素时,一个显然的方法是将所有数据进行排序,然后检索k个元素.这种方法的运行时间为O(n log(n)). 无序列表调用分区函数将自身分解成两个子表,其长度为i和n-i. ...
- python字典嵌套列表怎么访问值的某个元素_python – 访问嵌套在字典中的值
我有一个字典,其中包含字典,也可能包含字典,例如字典. dictionary = {'ID': 0001, 'Name': 'made up name', 'Transactions': {'Tran ...
- python 如果没有该key值置为空_没有键时Python字典的默认值
from collections import Counter histogram = Counter() ... histogram[n] += 1 对于数字以外的值,请查看collections. ...
- python在函数内部访问外部全局变量的方法_在函数外部访问函数变量,而无需使用“全局”...
您可以按照以下方式做一些事情(在我测试它们时,它们在Python v2.7.15和v3.7.1中均有效): def hi(): # other code... hi.bye = 42 # Creat ...
- python从列表中随机提取多个元素_如何使用numpy从列表中随机选择n个元素?
我有一个向量列表: >>> import numpy as np >>> num_dim, num_data = 10, 5 >>> data = ...
- python集合中的元素不允许重复对吗_python字典中的值为什么不允许重复
python字典中的值不允许重复的原因是:1.有一条明确原则,每个键只能对应一个项:2.当有键发生冲突时,取最近的赋值:3.键必须是可哈希的. python字典中的值不允许重复的原因是: 字典中的值没 ...
- python如何判断字典中是否存在某个键_总结:11个Python3字典内置方法大全及示例...
概述 字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存取键值对的,即字典是任意对象的无需集合,可在原处增加或减少,且支持任意深度的嵌套(即可以包含诸如 ...
- python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值
Python3 min() 函数详解 获取多个参数或列表中的最小值 min()函数的主要作用是获取对象中最小的值,参数可以是任何可迭代对象(字符串.列表.元组.字典等),可以是一个参数内的值进行对比, ...
最新文章
- 【HTTP基础】HTTPS原理及WebSocket原理
- 2021贵州毕节高考成绩查询,2021贵州毕节选调生考试排名查询入口-时间(已开通)...
- 【机器学习】Github8.9K,目前最佳模型解释器-LIME!
- WPF 与Surface 2.0 SDK 亲密接触 - 图形缩放篇
- CF B. Working out
- artDiaLog弹出插件
- PythonPyqt5项目开发完成后如何使用pyinstaller打包——以Pycharm编辑器为例(目前为止最正确的版本,成功打包日期为2020.11.26)
- 计算机组成原理平均cpi怎么算_2020考研 | 计算机统考408院校盘点,408考试内容难易分析...
- 寓情于景 —— 情与景的交融
- StackedGAN详解与实现(采用tensorflow2.x实现)
- LeetCode1436. 旅行终点站(Java)
- BC1.2 PD协议
- SMT32的RTC的晶振为什么是32768Hz
- 程序员裸辞,利用1个月时间全力找工作,怎么样?
- 数据结构:通过hash表建立一个宝可梦图鉴管理系统
- 1.HTML5文件的基本结构
- 笔记本 ubuntu18.04双系统
- 六、redis中AKF问题解决方案
- Windows.h和windows.h的区别
- Deep Learning Based Registration文章阅读(五)《Anatomy-guided Multimodal Registration by Learning Segment 》