>>> import numpy as np
>>> data = np.random.randint(0, 5, [4,3,2,3])
>>> data
array([[[[4, 1, 0],
[4, 3, 0]],
[[1, 2, 4],
[2, 2, 3]],
[[4, 3, 3],
[4, 2, 3]]],
[[[4, 0, 1],
[1, 1, 1]],
[[0, 1, 0],
[0, 4, 1]],
[[1, 3, 0],
[0, 3, 0]]],
[[[3, 3, 4],
[0, 1, 0]],
[[1, 2, 3],
[4, 0, 4]],
[[1, 4, 1],
[1, 3, 2]]],
[[[0, 1, 1],
[2, 4, 3]],
[[4, 1, 4],
[1, 4, 1]],
[[0, 1, 0],
[2, 4, 3]]]])
>>>data.shape
>>> (4,3,2,3)
如上面的四维数组,我们可以感觉中括号的多少来判断数组的每个维度的层数。
首先可以看到每个维度的层数为(4,3,2,3)
第一层为4,因为最外层的3个中括号重复了4次
第二层为3,因为最外层的包含的中括号,即两个中括号,在一个3个中括号内重复了3次。例如
[[[4, 1, 0],
[4, 3, 0]],
[[1, 2, 4],
[2, 2, 3]],
[[4, 3, 3],
[4, 2, 3]]]
第三层为2,因为在第二层的中括号包含的中括号重复了两次。例如
[[4, 1, 0],
[4, 3, 0]],
第四层,即最后一层为3,因为最后一层的中括号包含了3个数字。