假设hi有这个范围的hi [0] ~hi [200],并且如果hi [0~200]包括1,我想继续if语句。 如果hi列表中的一个而不是1(ex)hi [5] == 2),if语句不应该继续,但是else语句运行。 我该怎么办..? 如果hi [0] == 1和hi [1] == 1和...等 这是唯一的方法吗?
if hi[]==1:
i =1
else:
i=2
答案 0 :(得分:2)
您想要检查给定范围内的所有值是否等于1
,您需要all
:
hi = [1]*10
print(all(x == 1 for x in hi[0:7]))
返回True
,因为从0到6(包括)的所有元素都是1.现在:
hi[5] = 5
print(all(x == 1 for x in hi[0:7]))
返回False
,因为从0到6的所有元素都不是1
答案 1 :(得分:-1)
像这样循环:
for i, el in enumerate(hi):
if el != 1: # go to the next iteration without doing anything else
continue
else:
# your code goes here
编辑:基于OP对@Andre回答的评论:
i = 1 if all(x == 1 for x in hi) else 0
答案 2 :(得分:-1)
如果我正确理解您的问题,您想检查数组范围内的所有项目是否都具有值1
?
您可以使用any
和生成器表达式检查是否有任何项目等于1来执行此操作:
if any(item != 1 for item in hi[start:end]):
print("Error")
else:
# Ok