if语句中的Python数组元素

时间:2018-04-24 16:04:52

标签: 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()

解决方案:我确实缩进了它。以上只是我的代码的简化(一些愚蠢的例子)。  我找到了错误的位置。这是因为我用numpy初始化了数组

a = numpy.empty(5) 而不是这样:

a = [0 for i in range(5)]

谢谢大家的帮助

4 个答案:

答案 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")

参考:https://wiki.python.org/moin/ForLoop

答案 3 :(得分:0)

您获得的错误主要是由于INDENTATION。 Python严格遵循缩进,这意味着它只会执行在特定块中编写的代码。有关详细信息,请参阅Python Indentation Rule。 谢谢。快乐的编码未来。