如果我有一个字典,其所有元素的形状相同,我可以按索引过滤这些元素,如下所示:
import numpy as np
import random
# Some random data
a1 = np.random.uniform(0., 1., 1000)
a2 = np.random.uniform(0., 1., 1000)
a3 = np.random.uniform(0., 1., 1000)
# Some random indexes
idx = random.sample(range(0, 1000), 25)
# My dict
aa = {'a1': a1, 'a2': a2, 'a3': a3}
# New filtered dict
bb = {k: v[idx] for k, v in aa.iteritems()}
但如果字典中的元素有不同的形状:
a1 = np.random.uniform(0., 1., 1000)
a2 = np.random.uniform(0., 1., (3, 1000))
a3 = np.random.uniform(0., 1., (5, 1000))
以上不再适用。有没有办法将滤波推广到不同形状(但长度相等)的数组?