我之前遇到过这个问题,但直到现在它还不是很重要:通过给出3或4个变量的所有组合.我目前的项目是Python,所以这是一个例子:
def function(var1, var2, var3):
if var1:
if var2:
if var3:
foo(bar)
else:
bar(foo)
else:
if var3:
...
Run Code Online (Sandbox Code Playgroud)
即使这个例子比我正在使用的代码更简单,因为每个变量有3到4种可能性.
我不熟悉许多编程概念,我觉得这个问题已经有了很好的答案.任何帮助表示赞赏.提前致谢!
许多ifs 的规范Python替换是字典:
from functools import partial
def function(var1, var2, var3):
choices = {(True, True, True): partial(foo, bar),
(True, True, False): partial(bar, foo),
...}
choices[tuple(map(bool, (var1, var2, var3)))]()
Run Code Online (Sandbox Code Playgroud)
(在这种简单的情况下你可以使用lambda而不是functools.partial).
或者,在您的情况下:
choices = {("past", "simple", 1, False): ...,
...}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |