使用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字典嵌套列表怎么访问值的某个元素_通过键列表访问嵌套字典项?相关推荐

  1. Python学习笔记 -- 列表2: 遍历:嵌套列表, 将其中同位置的元素组成新的列表

    #遍历:嵌套列表, 将其中同位置的元素组成新的列表 lsts = [[1,2,3], [4,5,6],[7,8,9],[10,11,12]]ret_x = [x for [x,y,z] in lsts ...

  2. python 无序列表中第k大元素_查询无序列表中第K小元素

    当需要在无需列表中寻找第k小的元素时,一个显然的方法是将所有数据进行排序,然后检索k个元素.这种方法的运行时间为O(n log(n)). 无序列表调用分区函数将自身分解成两个子表,其长度为i和n-i. ...

  3. python字典嵌套列表怎么访问值的某个元素_python – 访问嵌套在字典中的值

    我有一个字典,其中包含字典,也可能包含字典,例如字典. dictionary = {'ID': 0001, 'Name': 'made up name', 'Transactions': {'Tran ...

  4. python 如果没有该key值置为空_没有键时Python字典的默认值

    from collections import Counter histogram = Counter() ... histogram[n] += 1 对于数字以外的值,请查看collections. ...

  5. python在函数内部访问外部全局变量的方法_在函数外部访问函数变量,而无需使用“全局”...

    您可以按照以下方式做一些事情(在我测试它们时,它们在Python v2.7.15和v3.7.1中均有效): def hi(): # other code... hi.bye = 42  # Creat ...

  6. python从列表中随机提取多个元素_如何使用numpy从列表中随机选择n个元素?

    我有一个向量列表: >>> import numpy as np >>> num_dim, num_data = 10, 5 >>> data = ...

  7. python集合中的元素不允许重复对吗_python字典中的值为什么不允许重复

    python字典中的值不允许重复的原因是:1.有一条明确原则,每个键只能对应一个项:2.当有键发生冲突时,取最近的赋值:3.键必须是可哈希的. python字典中的值不允许重复的原因是: 字典中的值没 ...

  8. python如何判断字典中是否存在某个键_总结:11个Python3字典内置方法大全及示例...

    概述 字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存取键值对的,即字典是任意对象的无需集合,可在原处增加或减少,且支持任意深度的嵌套(即可以包含诸如 ...

  9. python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值

    Python3 min() 函数详解 获取多个参数或列表中的最小值 min()函数的主要作用是获取对象中最小的值,参数可以是任何可迭代对象(字符串.列表.元组.字典等),可以是一个参数内的值进行对比, ...

最新文章

  1. 【HTTP基础】HTTPS原理及WebSocket原理
  2. 2021贵州毕节高考成绩查询,2021贵州毕节选调生考试排名查询入口-时间(已开通)...
  3. 【机器学习】Github8.9K,目前最佳模型解释器-LIME!
  4. WPF 与Surface 2.0 SDK 亲密接触 - 图形缩放篇
  5. CF B. Working out
  6. artDiaLog弹出插件
  7. PythonPyqt5项目开发完成后如何使用pyinstaller打包——以Pycharm编辑器为例(目前为止最正确的版本,成功打包日期为2020.11.26)
  8. 计算机组成原理平均cpi怎么算_2020考研 | 计算机统考408院校盘点,408考试内容难易分析...
  9. 寓情于景 —— 情与景的交融
  10. StackedGAN详解与实现(采用tensorflow2.x实现)
  11. LeetCode1436. 旅行终点站(Java)
  12. BC1.2 PD协议
  13. SMT32的RTC的晶振为什么是32768Hz
  14. 程序员裸辞,利用1个月时间全力找工作,怎么样?
  15. 数据结构:通过hash表建立一个宝可梦图鉴管理系统
  16. 1.HTML5文件的基本结构
  17. 笔记本 ubuntu18.04双系统
  18. 六、redis中AKF问题解决方案
  19. Windows.h和windows.h的区别
  20. Deep Learning Based Registration文章阅读(五)《Anatomy-guided Multimodal Registration by Learning Segment 》

热门文章

  1. PHP利用jpgraph类画折线图
  2. MPLSOAM技术及应用
  3. day-44mysql
  4. 关于IO模拟时序(SPI)的注意事项
  5. Qt探索之路——各种类型变量的互相转换
  6. 计算机软考证书英文名称完全翻译指南
  7. 文本转声音,TTS语音实现
  8. 20.二叉树怎么存储
  9. C#版本与.NET版本对应关系以及各版本的特性
  10. 入门机器学习,看这些材料就够了