Python 替代K&;V基于地图?

Python 替代K&;V基于地图?,python,list,dictionary,mapping,substitution,Python,List,Dictionary,Mapping,Substitution,假设我们有一个地图记录和数据记录: m = { 1:2, 4:5, 3:7 } data = { 1:7, 4:1, 3:6 } 我们应根据“m”替换“数据”中出现的所有键和值: 最短、最快捷的方法是什么 我曾考虑将数据转换为列表进行替换,然后再转换回dict。但即使这样也太复杂了 将列表转换为dict正常: dict(zip(lst[0::2], lst[1::2])) 将dict转换为list是: data.items() 但这一个并没有返回列表,而是元组列表,这使得事情变得太复杂了,

假设我们有一个地图记录和数据记录:

m = { 1:2, 4:5, 3:7 }
data = { 1:7, 4:1, 3:6 }
我们应根据“m”替换“数据”中出现的所有键和值:

最短、最快捷的方法是什么

我曾考虑将数据转换为列表进行替换,然后再转换回dict。但即使这样也太复杂了

将列表转换为dict正常:

dict(zip(lst[0::2], lst[1::2]))
将dict转换为list是:

data.items()
但这一个并没有返回列表,而是元组列表,这使得事情变得太复杂了,也就是说,我们需要将这一部分进一步展平

我想知道是否有更好的方法,强调速度/记忆。

听写理解:

data1 = {m.get(k, k): m.get(v, v) for k, v in data.items()}
请注意,示例中的
{4:1,4:6}
是一个元素。

dict comprehension:

data1 = {m.get(k, k): m.get(v, v) for k, v in data.items()}
请注意,
{4:1,4:6}
在您的示例中是单个元素。

我猜您在使用?我猜您在使用?