如何将一个有序的dict和一个dict合并在一起?

时间:2016-05-27 09:53:37

标签: python

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

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

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

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

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

怎么做?

2 个答案:

答案 0 :(得分:2)

你可以使用词典理解:

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

这将导致

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

答案 1 :(得分:1)

我不确定你是如何从OrderedDict中检索一个值的,但如果它是一个正常的词典,你可以这样做:

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