Python numpy.arr((…)和numpy.arr([…])之间的差异
通过以下两种方式调用numpy.array时:Python numpy.arr((…)和numpy.arr([…])之间的差异,python,python-3.x,numpy,numpy-ndarray,Python,Python 3.x,Numpy,Numpy Ndarray,通过以下两种方式调用numpy.array时: >>> np.array((1,2,3,4)) array([1, 2, 3, 4]) >>> np.array([1,2,3,4]) array([1, 2, 3, 4]) 我注意到它返回两个看起来相同的数组。 这两个日期相同吗?为什么?我们在这里可以表现得很一般。假设我们不知道什么是X=np.array([1,2,3,4])和Y=np.array((1,2,3,4))。如果我们打印它,我们可以看到一个输出,
>>> np.array((1,2,3,4))
array([1, 2, 3, 4])
>>> np.array([1,2,3,4])
array([1, 2, 3, 4])
我注意到它返回两个看起来相同的数组。
这两个日期相同吗?为什么?我们在这里可以表现得很一般。假设我们不知道什么是
X=np.array([1,2,3,4])
和Y=np.array((1,2,3,4))
。如果我们打印它,我们可以看到一个输出,它是秘密内置方法X.\uuu repr\uu
和Y.\uu repr\uu
的结果。您可以在这里确定地看到X
和Y
具有相同的表示形式。但是,这并不意味着它们是相同的,因为它们可以是具有相同表示的不同类的实例。为了确保这一点,我通常使用X.\uu class\uu
和Y.\uu class\uu
。因此,X
和Y
都是同一类的实例np.ndarray
我们可以在这里以一种通用的方式进行操作。假设我们不知道什么是X=np.array([1,2,3,4])
和Y=np.array((1,2,3,4))
。如果我们打印它,我们可以看到一个输出,它是秘密内置方法X.\uuu repr\uu
和Y.\uu repr\uu
的结果。您可以在这里确定地看到X
和Y
具有相同的表示形式。但是,这并不意味着它们是相同的,因为它们可以是具有相同表示的不同类的实例。为了确保这一点,我通常使用X.\uu class\uu
和Y.\uu class\uu
。因此X
和Y
都是同一类的实例np.ndarray
是的,它们都是从一个生成相同数字的iterable中读取的。列表和元组所携带的数据实际上没有什么不同。它们仅因支持的功能不同而有所不同。代码中使用的唯一功能是生成一个项目序列,这是两者都支持的。当创建这样的基本numpy数组时,它们是相同的。当使用复合数据类型
(制作结构化
数组)时,它们有不同的含义。例如,看看我最近的回答:是的,它们都是从一个生成相同数字的iterable中读取的。列表和元组所携带的数据实际上没有什么不同。它们仅因支持的功能不同而有所不同。代码中使用的唯一功能是生成一个项目序列,这是两者都支持的。当创建这样的基本numpy数组时,它们是相同的。当使用复合数据类型
(制作结构化
数组)时,它们有不同的含义。例如,请参见我最近的回答: