gpt4 book ai didi

python - 根据条件将一系列函数应用于字符串的优雅方式

转载 作者:行者123 更新时间:2023-12-01 22:52:21 25 4
gpt4 key购买 nike

我有一个带有 x 个 bool 参数的函数,如下所示:

def generic_function(input_string: str, a = True, b = True, c = True, d = True):
'''A generic function that applies a series of action
to a string'''

if a == False and b == True and c == True and d == True:

input_string = action_d(action_c(action_b(input_string)))

else if a == False and b == False and c == True and d == True:

input_string = action_d(action_c((input_string))

#etc.

return input_string

我想避免必须具体指定每个条件并使我的代码不那么冗长。

有没有更好、更优雅的方法来做到这一点?需要明确的是:原始函数是一个类的一部分,该类定义了一系列函数并将其应用于文本以提取一些数据。例如,action_a 是一个表情符号删除功能,action_b 是一个分词器等。

最佳答案

您不必进行所有可能的组合。由于逻辑是在前一个函数 (g∘f) 的返回值上应用一个函数,因此使用 if 序列就可以了并且完全等效。

def generic_function(input_string: str, a=True, b=True, c=True, d=True):
if a:
input_string = action_a(input_string)
if b:
input_string = action_b(input_string)
if c:
input_string = action_c(input_string)
if d:
input_string = action_d(input_string)
return input_string

关于python - 根据条件将一系列函数应用于字符串的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74098396/

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