【发布时间】:2020-10-24 02:56:06
【问题描述】:
我首选的手动定义 numpy 数组的方法是在 numpy 的 user guide 中看到它之后输入一个元组列表。它使跟踪括号更容易:
但是进一步搜索文档我不知道这是否被认为是标准,或者是否有特定的用例。总的来说,它们的工作方式似乎与输入列表列表的方式完全相同,除非尝试显式定义二维数组。它自动变成一维数组,而使用相同语法的列表列表变成二维数组。
在下面的代码中,我希望a2 与b1 具有相同的形状。它们不同有什么原因吗?
a1 = np.array([1, 1])
print(a1.shape) # (2,)
a2 = np.array([[1], [1]])
print(a2.shape) # (2, 1)
b1 = np.array([(1), (1)])
print(b1.shape) # (2,)
b2 = np.array(((1, 2), (1, -5)))
print(b2.shape) # (2, 2)
【问题讨论】:
-
(some_object)只是写some_object的另一种方式。(some_object,)是一个长度为1的元组。