我想要使用键和值合并两个词典。第一个是有序字典,第二个是常规字典。这两个词都有相同的长度。
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, ...}
怎么做?
答案 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() ])