将函数应用于字典值 - python

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

我还有另一本词典d,它的键集与以前的词典相同。

对于键集中的每个keyd[key]是可应用于L[i][key]的功能,即d[key](L[i][key])

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

L[i][key] = d[key](L[i][key])

对于所有key和所有i

我该如何以更pythonic的方式做到这一点?谢谢。

例如。

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

L[1] = {'a':`10`, 'b':5, 'c':1.4}

其中int是类型转换函数int()myfun是一个可以将整数作为其参数的函数,而yourfun是另一个可以将一个浮点数作为其参数的函数。

python大神给出的解决方案

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

L = [{k: d[k](v) for (k, v) in l.iteritems()} for l in L]