我只是想知道下面的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?非常感谢!
使用 括号 将条件分组:
if value[6] in target and (value[0] in target or value[1] in target):
请注意,in如果将定义target为一组,则可以在固定时间内进行查找:
in
target
target = {1,2,3,4,5,6,f}
并且,正如@Pramod在评论中提到的那样,在这种情况下value[6]将导致,IndexError因为其中仅定义了6个元素,value并且索引基于0。
value[6]
IndexError
value