将函数应用于字典值

时间:2015-03-19 01:31:02

标签: python dictionary

我有一个列表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的方式做到这一点?感谢。

E.g。

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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