我有一个列表L
的词典,其中词典具有相同的键集。
我有另一个字典d
,它也有与前一个词典相同的一组键。
对于密钥集中的每个key
,d[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
是另一个可以取一个函数的函数浮点数作为其参数。
答案 0 :(得分:5)
您可以使用列表和字典理解来使用正确的值重新生成L
:
L = [{k: d[k](v) for (k, v) in l.iteritems()} for l in L]