python很注重形式/格式 比如靠缩进来确定代码块再比如,一维数组的定义
import numpy as np
rank_1 = np.array([1, 2, 3]) #
print(rank_1.shape)
"""
这是一个一维数组 将会输出: (3,)
(3,) 是不是看上去很奇怪,但是这很形象的表示这个数组只有一个维度!
"""
对于一维数组 习惯了以后也还可以,但是对于”精通”Matlab的我, 下面的才是让我经常犯错的地方.
二维数组:
rank_2 = np.array([[1],[2], [3]])
print(rank_2.shape)
"""
这是一个二维数组
将会输出: (3, 1)
"""
可能看到初始化时候,根据C语言的经验,我们能比较清楚的意思到rank_2是一个二维数组。但是看到rank_2.shape=(3, 1)我却总是下意识的认为这不就是一维数组吗?
然后,python大爷狠狠的训了我,.shape输出的明显有两个数组,表明了两个维度的大小,你居然还说是一维数组,你是不是傻?
一定要分清楚一维数组和二维数组,因为当输入的数组shape不符合要求时(例如rank_1,和rank_2), 轻则报错,重则很久找不错来的bug。