【问题标题】:How to merge one ordered dict and one dict together? [duplicate]如何将一个有序字典和一个字典合并在一起? [复制]
【发布时间】:2016-09-25 14:36:12
【问题描述】:

我有两个要使用键和值合并的字典。第一个是有序字典,而第二个是常规字典。两个字典的长度相同。

ord_dict = OrderedDict([(0, 369670), (1, 370622), (2, 267034), ...])
reg_dict = {0: (0, 0), 1: (0, 1), 2: (0, 2), ...}

所需的结果是一个新的字典,其中键是reg_dict 的元组,值是ord_dict 中每个元组的第二个元素。

在本例中,结果应如下所示:

merged_dict = {(0, 0): 369679, (0, 1): 370622, (0, 2): 267034, ...}

如何做到这一点?

【问题讨论】:

  • "value 是每个元组的第二个元素",你的意思是 value 与 `OrderedDict' 中的 key 关联?
  • @AnttiHaapala 是的,完全正确。

标签: python


【解决方案1】:

您可以使用字典推导:

merged_dict = {reg_dict[k]: v for k, v in ord_dict.items()}

这将导致

{(0, 0): 369670, (0, 1): 370622, (0, 2): 267034}

【讨论】:

    【解决方案2】:

    我不确定您如何从 OrderedDict 中检索值,但如果它是普通的 dict,您可以执行以下操作:

    merged_dict = dict([ (v, ord_dict.get(k)) for k, v in reg_dict.iteritems() ])
    

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 2017-01-04
      • 1970-01-01
      • 2021-03-13
      • 2017-07-23
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 2012-05-20
      相关资源
      最近更新 更多