我有以下两个字典:
Dict_Employee_ID = {'0': ['0', '1', '2'], '1': ['0', '1', '2']}
Dict_ID_Shift = {'0': ['L', 'D'], '1': ['D', 'E', 'D'], '2': ['None', 'Any', 'Any']}
我的目标是当的键对应于的值时,用字典Dict_Employee_ID
的值替换字典的值。Dict_ID_Shift
Dict_ID_Shift
Dict_Employee_ID
预期的输出应如下所示:
{
'0': [['L', 'D'], ['D', 'E', 'D'], ['None', 'Any', 'Any']],
'1': [['L', 'D'], ['D', 'E', 'D'], ['None', 'Any', 'Any']]
}
我试过使用交集()方法,但无法获得预期的结果,您的策略是什么?谢谢
您可以使用字典理解并将值重新分配Dict_Employee_ID
为:
Dict_Employee_ID = {'0': ['0', '1', '2'], '1': ['0', '1', '2']}
Dict_ID_Shift = {'0': ['L', 'D'], '1': ['D', 'E', 'D'], '2': ['None', 'Any', 'Any']}
Dict_Employee_ID = {k: [Dict_ID_Shift[e] for e in v] for k, v in Dict_Employee_ID.items()}
Dict_Employee_ID
该值将保存在哪里:
{
'0': [['L', 'D'], ['D', 'E', 'D'], ['None', 'Any', 'Any']],
'1': [['L', 'D'], ['D', 'E', 'D'], ['None', 'Any', 'Any']]
}
如果要替换现有字典,则还可以编写显式for
循环以实现此目的:
for k, v in Dict_Employee_ID.items():
Dict_Employee_ID[k] = [Dict_ID_Shift[e] for e in v]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句