如何在 python numpy 多维数组中获得最短的数组形状?

How to get the shortest array shape in a python numpy multidimensional array?

如果我有一个像这样的多维 numpy 数组:

>> x = np.array([
    np.array([0, 1, 2, 3, 4, 5]),
    np.array([0, 1, 2, 3, 4]),
    np.array([0, 1, 2, 3]),
    np.array([0, 1, 2, 3, 4]),
    np.array([0, 1, 2, 3, 4, 5, 6]),
])

>> x.shape
(5,)

是否有 "pythonic way" 可以在 x 中找到最短的 shape 数组?

你只需要最短的数组吗?

如果是,我认为这是最简单的方法

import numpy as np
l = []
 x = np.array([
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4],
[0, 1, 2, 3],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4, 5, 6],
])

for i in x:
    l.append(np.shape(i))
print (min(l))

我使用了基于的解决方案:

min(i.shape for i in x)

谢谢大家!