我如何使用列表来避免一遍又一遍地重复“和/或”运算符?

时间:2018-10-08 03:44:30

标签: python python-3.x if-statement

我的代码如下:

if x == 1 or x == 2 or x == 3 or x == 4 or x == 5 or x == 6:
    print('Text')

所以我想知道是否可以将所有这些条件组合到一个列表中,例如:

if x == {1,2,3,4,5,6}:
    print('Text')

使我的代码更整洁,这对我来说也减少了工作量。

谢谢。

3 个答案:

答案 0 :(得分:3)

您可以使用in运算符和一组值来代替:

if x in {1, 2, 3, 4, 5, 6}:
    print('Text')

答案 1 :(得分:0)

您可以使用任何可迭代的(列表元组字典)来存储x值,并检查变量是否处于迭代状态或不使用in


对于您的特定情况,您可以使用:

In [56]: x = 4
In [57]: if x in range(1, 7):
    ...:     print('yes')
    ...:     
yes

答案 2 :(得分:-2)

您可以使用switch-case:

switch(x){
case 1 :
case 2 :
case 3 :
case 4 :
case 5 :
case 6 : print("Text"); 
     break;
default : //any code here
}

根据编程语言,您可以更改语法。我在Java中使用了很多次。在switch-case中,此属性称为“穿透”,即与任何case匹配时,它都会继续执行语句,直到找到'break'或switch的结尾