从具有定义维的平面列表中创建嵌套列表

问题描述 投票:0回答:1

我有一个平面列表,我想根据定义的尺寸转换为嵌套列表,平面列表的长度可以是任意的,但是尺寸应满足列表的长度,例如

[0,1,2,3,4,5,6,7]

将产生一个嵌套列表

m = 2
n = 4
[[0,1][2,3][4,5][6,7]]

m = 4
n = 2
[[0,1,2,3][4,5,6,7]]

我正在考虑使用列表理解来生成嵌套列表,但是其他选项也可以从平面列表中追加元素

a = [[i] * m for i in range(n)]
python list list-comprehension nested-lists
1个回答
0
投票

这里是使用列表推导的一种选择:

[
    col[col.index(val):col.index(val) + m]
    for val in col[::len(col)//n]
]
© www.soinside.com 2019 - 2024. All rights reserved.