我有一个变量 V 取值 { 1, 43, ... },我想根据 V 所取的确切值分配给变量 Z 值 { X1, X2, ... }。示例:如果 V 为 1,则 Z 为 X1。如果 V 出乎意料地不是定义值集的一部分,则行为可能是“未定义的”。
基本上,我不知道如何在 Python 中执行 switch 语句。在手册中,我没有找到“开关”。
我有一个变量 V 取值 { 1, 43, ... },我想根据 V 所取的确切值分配给变量 Z 值 { X1, X2, ... }。示例:如果 V 为 1,则 Z 为 X1。如果 V 出乎意料地不是定义值集的一部分,则行为可能是“未定义的”。
基本上,我不知道如何在 Python 中执行 switch 语句。在手册中,我没有找到“开关”。
z_values = {
1: X1,
42: X2,
}
Z = z_values[V]
如果 V 不是有效值之一,您还没有说您想要发生什么。
if v == 1:
z = 'x1'
elif v == 42:
z = 'x2'
除非我完全误解了你想要什么,否则你是在要求一个简单的 if 语句......?
如果它是一个简单的“If X then Y else Z”(x ? y : z
在许多其他语言中),那么这应该有效:
target = y if x else z
如果你想要的基本上是一个开关,那么这样的东西应该可以工作:
def func_x():
print "x"
def func_y():
print "y"
def func_z():
print "z"
def default():
print "nope"
{
"x": func_x,
"y": func_y,
"z": func_z
}.get(input, default)()