Python swith表达式替代方案

时间:2022-06-01 18:16:04

Python里是没有像其他语言,如java里的switch...case这样的表达式。

替代方案一:map下标

def f(x):
return {
'a': 1,
'b': 2,
}[x]

使用下标的方式,可以很简洁的获取想要的值。但这种方法有一个弊端,如果不存在时,不能返回一个默认的值。

替代方案:使用if-elif

if x == 'a':
# 满足条件,进行处理
elif x == 'b':
# 满足条件,进行处理
if x in 'bc':
# 满足条件,进行处理
elif x in 'xyz':
# 满足条件,进行处理
else:
# 默认