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}
在您的示例中是单个元素。我猜您在使用?我猜您在使用?