【发布时间】:2023-03-16 10:54:02
【问题描述】:
我有一个 numpy ndarray tup1 语句 True 和 False
print(tup1)
array([[ True, False, False, False],
[ True, False, False, False],
[False, False, False, False],
[ True, True, False, False]], dtype=bool)
我想通过以下方式遍历这个元组tup1:
for i in tup1:
if i == True:
pass
else:
do something
将对所有“假”条目进行一些操作。但是,这不起作用:我收到以下错误:
---------------------------------------------------------------------------
ValueError
Traceback (most recent call last)
<ipython-input-57-0d2a4ade1205> in <module>()
1 for i in tup1:
----> 2 if i == True:
3 pass
4 else:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
【问题讨论】:
-
对不起大家。我将元组定义为
tup1,而不是cond -
这是一个 NumPy 数组,不是元组。
-
它是模棱两可的。当
any条目为 False 或all条目为 False 时,您是否希望发生一些事情? -
@MarkTolonen 对于 numpy 数组中的每个条目,如果 that 条目为 False,则执行一些操作。否则,通过。
-
@ShanZhengYang,您是说每个单独的布尔值都是 False 还是每个子数组中的所有布尔值都是 False?添加您预期的输出,因为它仍然不清楚
标签: python numpy boolean iteration tuples