Python 3.x 有没有更好的方法实现1000个if…else条件以使其可读并避免在python中编写1000个条件?

Python 3.x 有没有更好的方法实现1000个if…else条件以使其可读并避免在python中编写1000个条件?,python-3.x,Python 3.x,我有一个这样的代码: if condition1 == True: func_call1(a1) elif condition2 == True: func_call2(a2) . . x 1000 times . else func_callN(aN) 我已经阅读了一些建议实现命令设计的文章。我也阅读了这篇SOF文章,但我不明白如何用python实现它 因此,我希望实施上述措施/更好地解决这个问题 编辑后 if condition1 == 'apple':

我有一个这样的代码:

if condition1 == True:
    func_call1(a1)
elif condition2 == True:
    func_call2(a2)
.
.      x 1000 times
.
else
    func_callN(aN)
我已经阅读了一些建议实现命令设计的文章。我也阅读了这篇SOF文章,但我不明白如何用python实现它

因此,我希望实施上述措施/更好地解决这个问题

编辑后

if condition1 == 'apple':
    apple(a1)
elif condition2 == 'Mango':
    Mango(a2)
.
.      x 1000 times
.
else
    fruit(aN)

如果你同时有一千条If/else线路,你就会遇到更大的问题。你是如何在这种情况下结束的?我认为表或数组是唯一的方法;condition1=>condition[1],它包含真值和要调用的关联函数。在一个单独的循环中,您可以测试和调用函数;您甚至可以选择优先级以及是否只调用一个或多个函数(如果两个条件同时为真)。使用1000
elif
s不是一个好主意。最好编写一个通用函数
func\u call
,将条件作为参数。什么是条件?@StephenNewell,我知道代码将发展到1000个函数,这些函数可以根据if块中的真实条件调用,也可以不调用。这听起来是一个不错的一般化问题,但“避免数千个
if
/
elif
”并不是一个典型的问题,即使在复杂的代码库中也是如此。这意味着,您的基本方法很可能存在问题,“数千个
if
”只是一个症状。你需要详细说明你的实际情况以及你的函数的实际作用,这样人们就可以首先看到你在这种情况下的结局。如果你同时有一千条If/else行,你就会遇到更大的问题。你是如何在这种情况下结束的?我认为表或数组是唯一的方法;condition1=>condition[1],它包含真值和要调用的关联函数。在一个单独的循环中,您可以测试和调用函数;您甚至可以选择优先级以及是否只调用一个或多个函数(如果两个条件同时为真)。使用1000
elif
s不是一个好主意。最好编写一个通用函数
func\u call
,将条件作为参数。什么是条件?@StephenNewell,我知道代码将发展到1000个函数,这些函数可以根据if块中的真实条件调用,也可以不调用。这听起来是一个不错的一般化问题,但“避免数千个
if
/
elif
”并不是一个典型的问题,即使在复杂的代码库中也是如此。这意味着,您的基本方法很可能存在问题,“数千个
if
”只是一个症状。您需要详细说明您的实际情况以及您的函数实际执行的操作,以便人们能够看到您最初是如何陷入这种情况的。