为了账号安全,请及时绑定邮箱和手机立即绑定

如何针对2个可能的值检查变量?

如何针对2个可能的值检查变量?

慕尼黑8549860 2019-09-03 19:28:17
我有一个变量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


查看完整回答
反对 回复 2019-09-03
?
侃侃无极

TA贡献2051条经验 获得超10个赞

return 1 if (x in 'ab') else 2 if (x in 'cd') else 3


查看完整回答
反对 回复 2019-09-03
?
慕的地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))


查看完整回答
反对 回复 2019-09-03
  • 4 回答
  • 0 关注
  • 362 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信