Python 查找多个.npz文件的最大形状

Python 查找多个.npz文件的最大形状,python,numpy,Python,Numpy,我有许多.npz文件,它们的形状可能会有所不同,我想找出哪个文件的形状更大。NPZ中有两个阵列,我正在寻找第二个阵列中最大的一个。下面的代码段可以工作,但返回形状所需的时间比我预期的要长。这是实现这一目标的最有效方式吗?我担心缩放,因为目前需要几秒钟才能找到最大形状[1],而我只在4个数组中循环 frameMax =0 for f in npzs: d = np.load(f,mmap_mode='r') if d['arr_0'].shape[1]>frameMax:

我有许多.npz文件,它们的形状可能会有所不同,我想找出哪个文件的形状更大。NPZ中有两个阵列,我正在寻找第二个阵列中最大的一个。下面的代码段可以工作,但返回形状所需的时间比我预期的要长。这是实现这一目标的最有效方式吗?我担心缩放,因为目前需要几秒钟才能找到最大形状[1],而我只在4个数组中循环

frameMax =0 
for f in npzs:
    d = np.load(f,mmap_mode='r')
    if d['arr_0'].shape[1]>frameMax:
        frameMax = d['arr_0'].shape[1]
    d=None

请记住,I/O操作可能相对较慢。这就是说,您可以使用将及时运行的内置项将查找最大值的逻辑简化为以下内容,并且不再需要您所做的分配:

frameMax = max([np.load(f,mmap_mode='r')['arr_0'].shape[1] for f in npzs])

您可能是对的,这很可能是I/O瓶颈。这并没有真正加快任何速度,但它确实看起来更光滑。谢谢你,摩西·科雷多耶