我有一些带整数的数组,以及for循环。我试图测试数组中的某些特定元素是大于还是小于某个整数。这段代码更好地解释了它:
array = [1,2,3,4,5]
for i in range(5):
if array[i] >= 3:
print(sometext)
else:
print(othertext)
但是我得到了一个ValueError:具有多个元素的数组的真值是不明确的。使用a.any()或a.all()
解决方案:我确实缩进了它。以上只是我的代码的简化(一些愚蠢的例子)。 我找到了错误的位置。这是因为我用numpy初始化了数组
a = numpy.empty(5)
而不是这样:
a = [0 for i in range(5)]
谢谢大家的帮助
答案 0 :(得分:3)
你应该迭代数组本身:
array = [1, 2, 3, 4, 5]
for item in array:
if item >= 3:
print("yes")
else:
print("no")
答案 1 :(得分:1)
这对我有适当的意图:
>>> array = [1,2,3,4,5]
>>> for i in range(5):
... if array[i] >= 3:
... print("Yes")
... else:
... print("No")
...
答案 2 :(得分:0)
这并不是做你所描述的最蟒蛇的方式。
array = [1,2,3,4,5]
for element in array:
if element >= 3:
print("Yes")
else:
print("No")
答案 3 :(得分:0)
您获得的错误主要是由于INDENTATION。 Python严格遵循缩进,这意味着它只会执行在特定块中编写的代码。有关详细信息,请参阅Python Indentation Rule。 谢谢。快乐的编码未来。