Python if或语句简写

use*_*231 0 python if-statement

我试图找出是否有一种更短的方式来编写这个if语句(写了一个非常基本的,不切实际的if语句,因此很容易看出这一点.

  x = 3

  if x == 1 or x == 2 or x == 3 or x==4:

     print x

  else:

     print "nope"
Run Code Online (Sandbox Code Playgroud)

我想写下以下内容:

if x == or(1,2,3,4):
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?或者我是否必须写出每个选项?

谢谢,肖恩

kin*_*all 6

你要:

if x in (1, 2, 3, 4):
Run Code Online (Sandbox Code Playgroud)

  • 我真的很想念其他语言. (2认同)
  • 在Javascript中你可以做`[1,2,3,4] .indexOf(x)+ 1`以避免丑陋的`!= -1`,尽管这可能更糟.:-) (2认同)