以下代码的输出为 NOTHING 。
if np.array([False]):
print("hello")
虽然我试图搜索它,但我不知道它是如何工作的。 Python可以重载if
吗?
以下是纯数组的情况。
if [False]:
print("hello")
输出为hello
你能告诉我如何编码np.array吗?
答案 0 :(得分:2)
似乎np.array([])返回False,0
和False
>>> bool(np.array([]))
False
>>> bool(np.array([0]))
False
>>> bool(np.array([False]))
False
如果列表中有任何项目,则列表返回true。
>>> bool([False]) ### the returned boolean value is based on the length of the list.
True
答案 1 :(得分:2)
我注意到的一件事是deflatestream
或if np.array([False])
返回数组中唯一项目的bool。如果您正在执行bool(np.array([False])
或if
,则不应该在numpy数组中包含多个项目。
如果有多个元素,则必须使用bool
或a.any()
a.all()
答案 2 :(得分:1)
if [False]:
始终为True
,因为[Flase]
是包含一个项目的列表(即非空),因此将输入if
块,您将查看print
来电的输出。
np.array([False])
返回numpy.ndarray
,在这种情况下评估为False
,因此永远不会输入if
块,您将看不到任何输出。