如何检查变量是否等于两个可能的值?
我有一个变量s,它里面存的是一个字母的字符串。
s = 'a'
根据这个变量的值,我想返回不同的东西。目前我做的方式是这样的:
if s == 'a' or s == 'b':
return 1
elif s == 'c' or s == 'd':
return 2
else:
return 3
有没有更好的写法呢?更符合Python风格的写法?或者说这样写是最有效率的吗?
之前我写的代码是这样的:
if s == 'a' or 'b':
...
显然,这样写是不行的,真是个错误。
我知道有条件赋值的写法,也试过这样:
return 1 if s == 'a' or s == 'b' ...
我想问的是,有没有办法在比较一个变量和两个值的时候,不用写成 something == something or something == something
这种形式?
6 个回答
1
如果你只是返回一些固定的值,使用字典可能是最好的方法。
15
d = {'a':1, 'b':1, 'c':2, 'd':2}
return d.get(s, 3)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
52
if s in ('a', 'b'):
return 1
elif s in ('c', 'd'):
return 2
else:
return 3
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。