if语句中的Python数组元素

if语句中的Python数组元素,python,arrays,list,if-statement,Python,Arrays,List,If Statement,我有一些带整数的数组和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() 解决方案:我确实正确地缩进

我有一些带整数的数组和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)]

谢谢大家的帮助

您应该迭代数组本身:

array = [1, 2, 3, 4, 5]

for item in array:
    if item >= 3:
        print("yes")
    else:
        print("no")

这并不是你所描述的最像蟒蛇的方式

array = [1,2,3,4,5]
for element in array:
    if element >= 3:
        print("Yes")
    else:
        print("No")

参考资料:

这对我来说很有效,而且有着正确的意图:

>>> array = [1,2,3,4,5]
>>> for i in range(5):
...     if array[i] >= 3:
...             print("Yes")
...     else:
...             print("No")
...

您得到的错误基本上是由于缩进造成的。Python严格遵循缩进,这意味着它将只执行在该特定块中编写的代码。有关更多详细信息,请参阅。
非常感谢。祝您编码愉快。

请正确缩进您的代码此链接可能对您有用,是否可能重复?这可能看起来很迂腐,但这不是一个数组,而是一个
列表。但是,您的错误消息似乎来自
numpy
。您应该提供一个,虽然您的问题几乎可以肯定是重复的,但这不是一个数组,而是一个名为array的列表。我在代码中正确地缩进了它,但很抱歉,不是在本文中。