我有一个数组:
a = [1, 3, 5, 7, 29 ... 5030, 6000]
这个数组是由之前的一个过程创建的,数组的长度可能不同(这取决于用户的输入)。
我还有一个数组:
b = [3, 15, 67, 78, 138]
(这也可能完全不同)
我想使用数组b
将数组a
切成多个数组。
更具体地说,我希望结果数组为:
array1 = a[:3]
array2 = a[3:15]
...
arrayn = a[138:]
当 n = len(b)
时。
我的第一个想法是创建一个二维数组 slices
,其维度为 (len(b), something)
。然而,我们事先不知道这个 something
的值,因此我将其分配为 len(a)
,因为那是它可能包含的最大数字数量。
我有这段代码:
slices = np.zeros((len(b), len(a)))
for i in range(1, len(b)):
slices[i] = a[b[i-1]:b[i]]
但是我遇到了这个错误:
ValueError: could not broadcast input array from shape (518) into shape (2253412)