首页 > 解决方案 > Python。如何修改/替换作为字典中值的列表的元素?

问题描述

我有两个字典:

D_1 = {1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E', 6: 'F', 7: 'G', 8: 'H', 9: 'I', 10: 'J', 11: 'K', 12: 'L', 13: 'M', 14: 'N', 15: 'O', 16: 'P', 17: 'Q', 18: 'R', 19: 'S', 20: 'T', 21: 'U', 22: 'V', 23: 'W', 24: 'X', 25: 'Y', 26: 'Z'}

D_2 = {1: ['A', 'A', 'R', 'O', 'N'], 2: ['A', 'B', 'B', 'E', 'Y'], 3: ['A', 'B', 'B', 'I', 'E']}

我的任务是用 D1 中的相应键替换 D2 值中的字母。例如,我希望 D2 中的第一个键和值对看起来像这样:{1:[1,1,19,16,15]} 我已经修改了 D2,我将值放入列表而不是认为它的字符串会让我的任务更轻松。

标签: python

解决方案


dd = {v:k for (k, v) in D_1.items()}
{x: [dd[a] for a in y] for (x, y) in D_2.items()}

第一行还原D_1。第二行适用dd于 中的值D_2


推荐阅读