【问题标题】:Extracting the values from nested dictionary in python从python中的嵌套字典中提取值
【发布时间】:2021-04-19 01:59:16
【问题描述】:
d= {0: {'Name': 'MN', 'volt': 1.0, 'an': 0.0}, 
    1: {'Name': 'LT', 'volt': 1.0, 'an': 5.8},
    2: {'Name': 'CK', 'volt': 1.0, 'an': 2.72}, 
    3: {'Name': 'QL', 'volt': 1.0, 'an': 0.33}}

我正在尝试从上述嵌套字典创建一个矩阵,该矩阵将产生以下输出:

[MN 1.0 0.0
 LT 1.0 5.8
 CK 1.0 2.72
 QL 1.0 0.33]

在 python 中使用 .values() 函数也会产生键名。

【问题讨论】:

  • 我认为这本身是不可能的。你不能像这样混合整数和字符串。至少在这里,你有一个元素的一个列表。所以请指正。
  • 试试:[list(x.values()) for x in d.values()]
  • Python 中没有像 matrix 这样的内置数据结构。您可能应该澄清您要做什么。

标签: python arrays python-3.x dictionary matrix


【解决方案1】:

我猜你可以把它们放在这样的列表中

>>> d = {0: {'Name': 'MN', 'volt': 1.0, 'an': 0.0}, 
         1: {'Name': 'LT', 'volt': 1.0, 'an': 5.8},
         2: {'Name': 'CK', 'volt': 1.0, 'an': 2.72}, 
         3: {'Name': 'QL', 'volt': 1.0, 'an': 0.33}}
>>> [list(i.values()) for i in d.values()]
[['MN', 1.0, 0.0],
 ['LT', 1.0, 5.8],
 ['CK', 1.0, 2.72],
 ['QL', 1.0, 0.33]]

您迭代外部字典的值,然后再次在迭代期间通过i.values 提取内部字典的值,将它们存储在具有列表理解的列表中。

如果您希望它们在列表中展平

>>> sum([list(i.values()) for i in d.values()], [])
['MN', 1.0, 0.0, 'LT', 1.0, 5.8, 'CK', 1.0, 2.72, 'QL', 1.0, 0.33]

【讨论】:

  • 这就是我要找的。谢谢!!
猜你喜欢
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2016-05-15
  • 1970-01-01
  • 2015-11-28
相关资源
最近更新 更多