Python “如何工作”;如果np.array([False]):";
以下代码的输出为无Python “如何工作”;如果np.array([False]):";,python,numpy,Python,Numpy,以下代码的输出为无 if np.array([False]): print("hello") 虽然我试图寻找它,但我不知道它是如何工作的。如果,Python会过载吗 下面是纯数组的一个例子 if [False]: print("hello") 输出为hello 你能告诉我如何对np.array进行编码吗?如果[False]:将始终是True,因为[Flase]是一个包含一个项目的列表(即非空),因此将输入如果块,您将看到打印调用的输出 np.array([False]) 返回一个nu
if np.array([False]):
print("hello")
虽然我试图寻找它,但我不知道它是如何工作的。如果,Python会过载吗
下面是纯数组的一个例子
if [False]:
print("hello")
输出为hello
你能告诉我如何对np.array进行编码吗?
如果[False]:
将始终是True
,因为[Flase]
是一个包含一个项目的列表(即非空),因此将输入如果
块,您将看到打印
调用的输出
np.array([False])
返回一个
numpy.ndarray
,在本例中,它的计算结果为False
,因此将永远不会输入if
块,并且您将不会看到任何输出 if[False]:
将始终为True
,因为[Flase]
是一个包含一个项目的列表(即非空),因此将输入if
块,您将看到print
调用的输出
np.array([False])
返回一个numpy.ndarray
,在本例中,它的计算结果为False
,因此将永远不会输入if
块,并且您将不会看到任何输出 似乎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
似乎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
我注意到的一件事是
if-np.array([False])
或bool(np.array([False])
返回数组中唯一项的bool。如果执行if
或bool
,则numpy数组中不应该有多个项
如果有多个元素,则必须使用a.any()
或a.all()
>>如果np.array([False,False]):
…打印的'
...
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()
>>>bool(np.array([False,False]))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()
>>>
>>>
>>>bool(np.数组([False,232]))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()
>>>
>>>
>>>bool(np.array([False,232]).any())
真的
>>>
我注意到的一件事是如果np.array([False])
或bool(np.array([False])
返回数组中唯一项的bool。如果执行if
或bool
,则numpy数组中不应包含多个项
如果有多个元素,则必须使用a.any()
或a.all()
>>如果np.array([False,False]):
…打印的'
...
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()
>>>bool(np.array([False,False]))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()
>>>
>>>
>>>bool(np.数组([False,232]))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()
>>>
>>>
>>>bool(np.array([False,232]).any())
真的
>>>
是的,你可以在Python 3和Python 2中重写它。非常感谢!!你的回答让我明白。你为什么要这样做?在if表达式中使用numpy数组几乎从来没有像人们期望的那样有效。是的,你可以在Python 3和Python 2中重写它。非常感谢!!你的回答让我明白。为什么尝试这样做?在if表达式中使用numpy数组几乎从来没有像人们期望的那样有效。