鉴于{ k1: v1, k2: v2 ... }我想要{ k1: f(v1), k2: f(v2) ... }提供的字典,我传递了一个函数f.
有没有这样的内置功能?或者我必须这样做
dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()])
Run Code Online (Sandbox Code Playgroud)
理想情况下我会写
my_dictionary.map_values(f)
Run Code Online (Sandbox Code Playgroud)
要么
my_dictionary.mutate_values_with(f)
Run Code Online (Sandbox Code Playgroud)
也就是说,如果原始字典被改变或创建了副本,对我来说无关紧要.
一个类有一个构造函数,它接受一个参数:
class C(object):
def __init__(self, v):
self.v = v
...
Run Code Online (Sandbox Code Playgroud)
在代码的某处,dict中的值可以用来知道它们的键.
我想使用defaultdict,并将密钥传递给新生默认值:
d = defaultdict(lambda : C(here_i_wish_the_key_to_be))
Run Code Online (Sandbox Code Playgroud)
有什么建议?