gpt4 book ai didi

python - 使用字典理解 if/else 逻辑来确定是否使用函数

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:16 24 4
gpt4 key购买 nike

我有一个损坏的函数,它应该要么通过一个函数拧紧所有项目,要么只运行从限定函数传递 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()}

虽然丑陋但有效。我可以在一行中执行此操作吗?我要么通过回调运行所有值,要么首先检查第二个回调中的真实性,然后只运行通过的东西?谢谢

最佳答案

v 仅在存在限定回调时才返回,并且对于给定值返回 False,因此我们可以检查此条件,如果两个条件都返回 v保持或返回 callback(v)

def transform_dictionary(dictionary, callback, qualification_callback=None):
return {k: v if qualification_callback and not qualification_callback(v) else callback(v)
for k, v in dictionary.items()}

关于python - 使用字典理解 if/else 逻辑来确定是否使用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35001357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com