将函数应用于字典值

Tim*_*Tim 2 python dictionary

我有一个L词典列表,其中词典具有相同的键集.

我有另一个字典d,它也有与前面的字典相同的一组键.

对于key键组中的每一个,d[key]是一个可以应用的功能L[i][key],即d[key](L[i][key]).

我想使用值中L的函数重置字典值d,即

L[i][key] = d[key](L[i][key])
Run Code Online (Sandbox Code Playgroud)

key所有人i.

我怎么能以更加pythonic的方式做到这一点?谢谢.

例如

d = {'a':int, 'b':myfun, 'c':yourfun}

L[1] = {'a':`10`, 'b':5, 'c':1.4}
Run Code Online (Sandbox Code Playgroud)

where int类型转换函数int(),myfun是一个可以取整数作为参数的函数,yourfun是另一个可以将浮点数作为参数的函数.

Xym*_*ech 5

您可以L使用列表和字典理解使用正确的值重新生成:

L = [{k: d[k](v) for (k, v) in l.iteritems()} for l in L]
Run Code Online (Sandbox Code Playgroud)