if 语句中的 Python 数组元素

问题描述 投票:0回答:5

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

谢谢大家的帮助

python arrays list if-statement
5个回答
4
投票

您应该迭代数组本身:

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

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

2
投票

它对我来说是有适当意图的:

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

0
投票

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


0
投票

这并不是真正执行您所描述的操作的最Pythoninc方式。

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

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


0
投票

我尝试了一下

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

x1 = (array[0])
x2= (array[1])
x3= (array[2])
x4= (array[3])
x5= (array[4])


if x1 <= x2:
  print("very good")
else:
  print("also good")

怎么样?

© www.soinside.com 2019 - 2024. All rights reserved.