我怎样才能简化这段代码?有没有办法将其转换为 for 循环?

how can i simplify this code? is there a way to transform this into a for loop?

如何简化这段代码?有没有办法将其转换为 for 循环?
我已经尝试了一些 for 循环,但没有任何效果或比这更短并且更有效。

这是我要优化的代码:

if selection == 1:
    function1
elif selection == 2:
    function2
elif selection == 3:
    function3
elif selection == 4:
    function4

您可以将函数作为对象存储在列表中

[function1, function2, function3, function4][selection - 1]()

然而,这不是真正可读的,所以不推荐。您不能使用循环,因为您的代码不会重复执行任何操作

您似乎想根据选择的值执行不同的功能。一个不错的方法是将具有值和您要调用的函数的字典和函数作为选择和函数之间的映射。例如:

functions = {'1': function1, '2': function2, '3': function3}

然后如果根据选择执行函数:

functions[selection]()

你可以通过添加一些错误处理来改进它,以防键不存在于字典中