【发布时间】:2016-05-02 06:42:09
【问题描述】:
我有一个损坏的函数,它应该通过一个函数来拧紧所有项目,或者只运行从限定函数传递 True 的项目(如果给出了限定函数)
def transform_dictionary(dictionary, callback, qualification_callback=None):
return {k: callback(v) if qualification_callback and qualification_callback(v) else v for k, v in dictionary.items()}
它被破坏了,因为它需要第二个函数来转换。我现在有
def transform_dictionary(dictionary, callback, qualification_callback=None):
if qualification_callback:
return {k: callback(v) if qualification_callback(v) else v for k, v in dictionary.items()}
else:
return {k: callback(v) for k, v in dictionary.items()}
这很丑但有效。我可以在一行中执行此操作,要么通过回调运行所有值,要么首先在第二个回调中检查真实性,然后只运行通过的东西?谢谢
【问题讨论】:
标签: python dictionary-comprehension