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

我只是想知道以下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.值[6]必须在目标中
2.目标中的值[0]或值[1]
如果我做了一个不好的例子,请道歉,但我的问题是,如果我可以制作三个AND&还是在一个声明中?非常感谢!

最佳答案 使用括号对条件进行分组:

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

请注意,如果要将目标定义为集合,则可以在常量时间内进行查找:

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

并且,正如@Pramod在注释中所提到的,在这种情况下,值[6]将导致IndexError,因为值中只定义了6个元素,并且索引是基于0的.

点赞