所以我可以用
在python中做一个Select Caseif integer == 1:
case0()
elif integer == 2:
case2()
elif integer == 3:
case3()
....
elif integer == N:
caseN()
有时我使用索引作为选择器使用列表。
selectCase = [case0(),case1(),case3(),...,caseN()] [N]
但这会使列表中的每个项目在被选中之前被处理吗?
所以我想知道是否有其他方法可以做到这一点,而不需要跨越这么多来控制执行什么代码。 有没有办法跳转到部分代码?也许我不想解决一个功能,但只是跳过一些行。
由于
答案 0 :(得分:3)
一种方法是利用您可以在字典中存储函数的事实:
functions = {
1: case1,
2: case2,
...
}
functions[case]()
注意我没有在字典中使用括号。在列表中的示例中,您将存储函数的结果而不是函数本身。