Yux*_*ang 2 python numpy scipy
我有一个如下所示的列表:
my_list = [[20, 15, 10], [15, 22, 37, 46], [22, 91]]
Run Code Online (Sandbox Code Playgroud)
所以它是二维的,但不是每一行都有相同数量的元素.
我现在有一个扁平的ndarray,如:
my_ndarray = np.array([9, 2, 4, 4, 1, 6, 7, 8, 17])
Run Code Online (Sandbox Code Playgroud)
与my_list具有相同数量的元素.现在我想将my_ndarray塑造成与my_list相同,即:
my_ndarray = [[9, 2, 4], [4, 1, 6, 7], [8, 17]]
Run Code Online (Sandbox Code Playgroud)
所以我们可以注意到,my_list和my_ndarray都包含3个子列表,第一个子列表包含3个元素,第二个子列表包含4个,第3个子列表包含2个元素.
有一个巧妙的方法来做到这一点?
谢谢!
>>> it = iter([9, 2, 4, 4, 1, 6, 7, 8, 17])
>>> my_list = [[20, 15, 10], [15, 22, 37, 46], [22, 91]]
>>> [[next(it) for i in j] for j in my_list]
[[9, 2, 4], [4, 1, 6, 7], [8, 17]]
Run Code Online (Sandbox Code Playgroud)