教你怎么快速读出python numpy中给定的array的shape

洋葱剥离法

例如:给定了以下array(矩阵) a,要你立即读出它的shape大小,该怎么读???

a=array([[[[ 1.,  2.]],[[ 3.,  4.]],[[ 5.,  6.]]],[[[ 7.,  8.]],[[ 9.,  10.]],[[ 11.,  12.]]],[[[ 13.,  14.]],[[ 15.,  16.]],[[ 17.,  18.]]]])

教你们一个诀窍:

(1)首先,看最左边中括号‘[的个数max=4,所以可以确定shape的形式为shape=[ □,  □,  □,  □],其中 表示待写入的数;

(2)再看4括号(即[[[[ ]]]])中3括号(即[[[ ]]])的个数,可以数出为3,分别为:

        ①[[[ 1.,  2.]],[[ 3.,  4.]],[[ 5.,  6.]]]

        ②[[[ 7.,  8.]],[[ 9.,  10.]],[[ 11.,  12.]]]

        ③[[[ 13.,  14.]],[[ 15.,  16.]],[[ 17.,  18.]]]

        所以,shape=[ 3,  □,  □,  □],其中 表示待写入的数;

 (3)任选一个3括号(即[[[ ]]]),看里面2括号(即[[[ ]]])的个数,可以数出为3。

       例如[[[ 1.,  2.]],[[ 3.,  4.]],[[ 5.,  6.]]]中,分别为:

        ①[[ 1.,  2.]]

        ②[[ 3.,  4.]]

        ③[[ 5.,  6.]]

       所以,shape=[ 3,  3,  □,  □],其中 表示待写入的数;

(4)任选一个2括号(即[[ ]]),看里面1括号(即[ ])的个数可以数出为1。所以,shape=[ 3,  3,  1,  □],其中 表示待写入的数;

(5)任选一个1括号(即[ ]),看里面纯数字的个数可以数出为2。所以,shape=[ 3,  3,  1,  2].

综上步骤,可以确定a的形状为shape=[ 3,  3,  1,  2].



猜你喜欢

转载自blog.csdn.net/qq_23981335/article/details/80221925