假设我有一个像这样的 numpy 数组:
arr = np.array([[1,1,1,1], [2,2,2,2], [3,3,3,3], [4,4,4,4])
我还有一个确定预期长度的列表:
lens = [1,2,3,4]
是否有一种优雅的 Pythonic 方式来返回一个新数组,并使用 lens 变量选择每个对应的元素?
输出应该是:
[[1], [2,2],[3,3,3], [4,4,4,4]]
请您参考如下方法:
如果每个 Numpy arr 列表元素大小小于 5,则此方法有效。
使用zip:
[a[:i].tolist() for a, i in zip(arr, lens)]
输出:
[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
