我有一个变量s,其中包含一个字母的字符串s = 'a'根据该变量的值,我想返回不同的东西。到目前为止,我正在做一些事情:if s == 'a' or s == 'b': return 1elif s == 'c' or s == 'd': return 2else: return 3有没有更好的方法来写这个?一个更Pythonic的方式?或者这是最有效的?以前,我错误地有这样的事情:if s == 'a' or 'b': ...显然这不起作用,对我来说相当愚蠢。我知道条件赋值并试过这个:return 1 if s == 'a' or s == 'b' ...我想我的问题是专门有一种方法可以将变量与两个值进行比较,而无需键入 something == something or something == something
4 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
if s in ('a', 'b'):
return 1
elif s in ('c', 'd'):
return 2
else:
return 3
慕的地10843
TA贡献1785条经验 获得超8个赞
也许更多的自我记录使用if else:
d = {'a':1, 'b':1, 'c':2, 'd':2} ## good choice is to replace case with dict when possible
return d[s] if s in d else 3
还有可能用if else实现流行的第一个答案:
return (1 if s in ('a', 'b') else (2 if s in ('c','d') else 3))
添加回答
举报
0/150
提交
取消