gpt4 book ai didi

python - 根据输入返回不同的输出组合

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:31 25 4
gpt4 key购买 nike

在我的函数中,我有一个列表 params_to_opt,它可以包含以下任何条目:'a''b''c', 'd', 'e'.

示例:params_to_opt=['c', 'e', 'a']。它可以包含我指定的任意数量(1 到 5)的条目。它始终至少包含上述条目之一。

根据这个输入,我进行各种计算:

def MyFunction(params_to_opt):
if 'a' in params_to_opt:
out1 = ...
if 'b' in params_to_opt:
out2= ...
if 'c' in params_to_opt:
out3 = ...
if 'd' in params_to_opt:
out4= ...
if 'e' in params_to_opt:
out5 = ...

现在我只想返回那些计算出的值。例如,如果 params_to_opt=['c', 'e', 'a'],我将返回 out1out3out5.

问题是,如果我再次使用 if .. else 语句,我将不得不考虑 31 种可能的输出(5+10+10+5+1,具体取决于我的列表长度)。

有没有更优雅的编码方式?我不关心性能,因为与每个 out1、out2、out3、out4、out5 的计算时间相比,输出的数量非常少。

谢谢,米哈伊尔

最佳答案

不需要五个自变量;只需声明一个列表,并根据需要附加到它。

def MyFunction(params_to_opt):
results = []
if 'a' in params_to_opt:
results.append(...)
if 'b' in params_to_opt:
results.append(...)
if 'c' in params_to_opt:
results.append(...)
if 'd' in params_to_opt:
results.append(...)
if 'e' in params_to_opt:
results.append(...)
return results

关于python - 根据输入返回不同的输出组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52277370/

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