如何将一个有序字典和一个普通字典合并?

3

我有两个字典需要合并,需要同时使用键和值。第一个是有序字典,而第二个是普通字典。这两个字典的长度相同。

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是每个元组的第二个元素",你的意思是OrderedDict中与key相关联的value吗? - Antti Haapala -- Слава Україні
@AnttiHaapala 是的,完全正确。 - FaCoffee
2个回答

2
您可以使用字典推导式:
```python ```
merged_dict = {reg_dict[k]: v for k, v in ord_dict.items()}

这将导致...
{(0, 0): 369670, (0, 1): 370622, (0, 2): 267034}

1

我不确定如何从有序字典中检索值,但如果它是普通字典,您可以像这样做:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接