python中的np.empty((0,shape))是什么意思?

python中的np.empty((0,shape))是什么意思?,python,numpy,Python,Numpy,如何传递形状为(0,2)的元组 a = np.empty((0,2)) a >>> array([], shape=(0, 2), dtype=float64) 另外,在np.empty()中将形状作为参数传递时,tuple和list之间有什么区别 tuple和list如何给出相同的输出?允许将带有0的tuple,例如(0,2)作为形状参数传递,但结果数组是空的,因为它包含0*2=0个元素。用文字写出来,它是“零行,每行2个元素”,其中“每行2个元素”没有太大的影响,因为没有

如何传递形状为(0,2)的元组

a = np.empty((0,2))
a
>>> array([], shape=(0, 2), dtype=float64)
另外,在np.empty()中将形状作为参数传递时,tuple和list之间有什么区别


tuple和list如何给出相同的输出?

允许将带有0的tuple,例如(0,2)作为形状参数传递,但结果数组是空的,因为它包含0*2=0个元素。用文字写出来,它是“零行,每行2个元素”,其中“每行2个元素”没有太大的影响,因为没有行

当切片出错时会出现这样的数组:例如

b = np.ones((2, 2))
a = b[2:, :]
使
a
成为形状数组
(0,2)
,因为给定切片中没有第一个索引的值。没有理由故意创建这样的数组


np.empty([2,2])
np.empty((2,2))
之间没有区别,数组创建方法和许多其他NumPy方法一样,接受列表而不是元组。仍然建议对形状参数使用元组,因为
arr.shape
始终是元组

作为
的参数,list和tuple做同样的事情
a,shape
始终是一个元组。首先用
np.zero
np.one
进行实验。它们更容易形象化。通常,不需要创建维度为0的数组。它不包含任何值,因此不是很有用。不要把它当作一个空列表,
[]
b = np.ones((2, 2))
a = b[2:, :]