switch/case for determining variable to assign to in Python
我想使用"switch/case"结构来决定根据某些参数将值赋给哪个变量:
1 2 3 4 5 6 | a, b = [init_val] * 2 switch param case 'a': a = final_val case 'b': b = final_val |
python中switch语句的问题替换中描述的dictionary方法?在这里不工作,因为您不能分配给函数调用
1 2 3 4 5 6 | a, b = [init_val] * 2 switcher = { 'a': a, 'b': b } switcher.get(param) = final_val |
也不能通过将变量存储在字典中来更改其值:
1 | switcher[param] = final_val # switcher['a'] is only a copy of variable a |
我可以坚持使用"if/elif",但由于我经常看到一个很好的字典解决方案(如前面的问题中所述),用于根据某个参数确定输出,所以我很好奇,是否有一个类似的解决方案来确定在一组变量中要为哪个变量赋值。
通常,python没有内置的开关/案例功能。相反,通常的做法是使用
1 2 3 4 5 6 7 | a, b = [init_val] * 2 if param == 'a': a = final_val elif param == 'b': b = final_val else: pass # or do something else |