python中的一维数组作为index array

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。

猜你喜欢

转载自blog.csdn.net/qq_29007291/article/details/80571203