【问题标题】:convert a dictionary of list to a dictionary of dictionary in python将列表字典转换为python中的字典字典
【发布时间】:2018-06-27 19:19:31
【问题描述】:

我有两个格式略有不同的字典,我想将一个转换成另一个看起来像另一个这样我可以轻松地比较它们。任何有助于实现这一目标的指针将不胜感激。

Dict 1 --> {Key:[{key 1 : value: 1, key 2: value2}, {key 3: value 3, key 4: value 4}]}

Dict 2 --> {Key: { VALUE : [{key 1 : value: 1, key 2: value2}, {key 3: value 3, key 4: value 4}]}}

【问题讨论】:

  • 你至少应该提供我们可以轻松复制的最少字典,而不是有语法错误的伪字典
  • as @user3483203 建议^

标签: python python-3.x dictionary nested


【解决方案1】:

似乎这两个字典之间的唯一区别是第二个字典有一个额外的字典,键为VALUE。您可以通过执行将其更改为看起来像第一个:

dict2[Key] = dict2[Key][VALUE]

如果你想改变第一个字典看起来像第二个,你可以执行:

dict1[Key] = {VALUE: dict1[Key]}

【讨论】:

  • 我想你想要VALUE,而不是'Value'。大概VALUE 是 OP 代码中的一些常量或变量,它们没有向我们展示。它恰好具有 'Value' 的值的几率非常低,虽然对我来说你的意思很明显,但提出这样一个问题的人会弄清楚这一点的几率似乎更低……
  • 也可能值得展示如何使用 dict1['Key'] = {VALUE: dict1['Key']} 走另一条路。
【解决方案2】:

试试这个:

dict2[Key]=dict2[Key][VALUE]

【讨论】:

    【解决方案3】:

    dict_1的结构变成你想要的(可能更容易使用):

    d_3 = {}
    
    d_3[key] = dict_2[key][VALUE] 
    

    【讨论】:

      【解决方案4】:

      您可以通过执行以下命令将第一个字典转换为第二个字典:

      dict3[Value]=dict1[Key]
      dict2[Key]=dict3
      

      【讨论】:

      • 这会改变 dict2 中的数据,这似乎不是 OP 想要的。
      猜你喜欢
      • 2018-08-21
      • 1970-01-01
      • 2015-07-23
      • 2019-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 2017-04-23
      相关资源
      最近更新 更多