我有以下嵌套词典:

dictionary = {(0,'AAPL'): {0: {'v': 55478991.0,
                               'vw': 145.868,
                               'o': 146.83,
                               'c': 145.31,
                               'h': 147.2285,
                               'l': 145.01,
                               't': 1677646800000,
                               'n': 461613}}}

我的问题是有一个"级别"太多了.从本质上讲,我希望将中间词典的值赋给最外面的词典的键,以实现以下结果:

dictionary = {(0,'AAPL'): {'v': 55478991.0,
                           'vw': 145.868,
                           'o': 146.83,
                           'c': 145.31,
                           'h': 147.2285,
                           'l': 145.01,
                           't': 1677646800000,
                           'n': 461613}}

最终,我有一个需要修改的多个这样的词典的集合.中间字典的关键字总是相同的,而最外面的字典的关键字总是不同的.例如:

{(0,'LHDX'): {0: {'v': 194946367.0,
   'vw': 1.123,
   'o': 1.04,
   'c': 0.7901,
   'h': 1.45,
   'l': 0.7321,
   't': 1677646800000,
   'n': 373039}},
 (1,'LHDX'): {0: {'v': 45745084.0,
   'vw': 0.6214,
   'o': 0.7133,
   'c': 0.56,
   'h': 0.7496,
   'l': 0.5156,
   't': 1677733200000,
   'n': 61922}},
 (2,'BBBY'): {0: {'v': 38914452.0,
   'vw': 1.4392,
   'o': 1.53,
   'c': 1.39,
   'h': 1.54,
   'l': 1.39,
   't': 1678078800000,
   'n': 77211}}}

我怎么能做到这一点?

推荐答案

既然你已经澄清了你的问题:

dictionary = {(0,'LHDX'): {0: {'v': 194946367.0,
   'vw': 1.123,
   'o': 1.04,
   'c': 0.7901,
   'h': 1.45,
   'l': 0.7321,
   't': 1677646800000,
   'n': 373039}},
 (1,'LHDX'): {0: {'v': 45745084.0,
   'vw': 0.6214,
   'o': 0.7133,
   'c': 0.56,
   'h': 0.7496,
   'l': 0.5156,
   't': 1677733200000,
   'n': 61922}},
 (2,'BBBY'): {0: {'v': 38914452.0,
   'vw': 1.4392,
   'o': 1.53,
   'c': 1.39,
   'h': 1.54,
   'l': 1.39,
   't': 1678078800000,
   'n': 77211}}}

您可以执行以下操作:

dictionary = {k:v[0] for k,v in dictionary.items()}

输出

{(0, 'LHDX'): {'v': 194946367.0,
  'vw': 1.123,
  'o': 1.04,
  'c': 0.7901,
  'h': 1.45,
  'l': 0.7321,
  't': 1677646800000,
  'n': 373039},
 (1, 'LHDX'): {'v': 45745084.0,
  'vw': 0.6214,
  'o': 0.7133,
  'c': 0.56,
  'h': 0.7496,
  'l': 0.5156,
  't': 1677733200000,
  'n': 61922},
 (2, 'BBBY'): {'v': 38914452.0,
  'vw': 1.4392,
  'o': 1.53,
  'c': 1.39,
  'h': 1.54,
  'l': 1.39,
  't': 1678078800000,
  'n': 77211}}

Python相关问答推荐

已安装' owiener ' Python模块,但在导入过程中始终没有名为owiener的模块

使用imap-tools时错误,其邮箱地址包含域名中的非默认字符

如何处理必须存在于环境中但无法安装的Python项目依赖项?

如何匹配3D圆柱体的轴和半径?

无法导入已安装的模块

具有症状的分段函数:如何仅针对某些输入值定义函数?

分组数据并删除重复数据

Polars比较了两个预设-有没有方法在第一次不匹配时立即失败

删除最后一个pip安装的包

查找两极rame中组之间的所有差异

使用@ guardlasses. guardlass和注释的Python继承

如何获得每个组的时间戳差异?

NumPy中条件嵌套for循环的向量化

递归访问嵌套字典中的元素值

Django RawSQL注释字段

名为__main__. py的Python模块在导入时不运行'

Numpyro AR(1)均值切换模型抽样不一致性

当单元测试失败时,是否有一个惯例会抛出许多类似的错误消息?

如何在Gekko中使用分层条件约束

根据客户端是否正在传输响应来更改基于Flask的API的行为