【发布时间】:2019-05-21 10:05:30
【问题描述】:
有没有一种方便的方法可以将函数映射到字典中的指定键?
即,给定
d = {"a": 1, "b": 2, "c": 3}
想要将一个函数(比如 f)映射到键“a”和“c”:
{"a": f(1), "b": 2, "c": f(3)}
编辑
寻找不会更新输入字典的方法。
【问题讨论】:
-
我会这样做:
use_f = {'a', 'b'}然后{k: v if k not in use_f else f(v) for k, v in d.items()} -
谢谢,这个想法行得通。我写了一个变体:
def map_at_keys(d,f,keys): return {k: f(v) if k in keys else v for k,v in d.items()} -
酷,乐于助人!是的,把它放到一个函数中是有意义的。
标签: python dictionary