一尘不染

Python IF在一个语句中使用多个“和”“或”

python

我只是想知道下面的if语句是否有效:

    value=[1,2,3,4,5,f]
    target = [1,2,3,4,5,6,f]
    if value[0] in target OR value[1] in target AND value[6] in target:
       print ("good")

我的目标是确保同时满足以下2个要求:1. value [6]必须位于目标2.目标中的value [0]或value
[1]如果我做了一个不好的例子,请道歉我的问题是,是否可以在一个语句中进行三个AND&OR?非常感谢!


阅读 377

收藏
2021-01-20

共1个答案

一尘不染

使用 括号 将条件分组:

if value[6] in target and (value[0] in target or value[1] in target):

请注意,in如果将定义target为一组,则可以在固定时间内进行查找:

target = {1,2,3,4,5,6,f}

并且,正如@Pramod在评论中提到的那样,在这种情况下value[6]将导致,IndexError因为其中仅定义了6个元素,value并且索引基于0。

2021-01-20