gpt4 book ai didi

python - 从给定长度和宽度的一维列表创建二维列表?

转载 作者:行者123 更新时间:2023-12-01 02:43:20 28 4
gpt4 key购买 nike

如何使用给定的行和列从一维列表创建二维列表?

给定:

sample_list=[5, 2, 3, 4, 1, 6, 1, 6, 7, 2, 3]

row=2
cols=4

它应该返回这个:

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

我不需要其他数字 = 7, 2, 3。我只想要一个包含用户提供的行和列的列表。我的解决方案没有返回我想要的,

我的解决方案:

def 1D_to_2D(sample_list, row, cols):
return [sample_list[i:i+cols] for i in range(0, len(sample_list), rows)]

返回:

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

有人可以帮忙吗?

最佳答案

只需使用带有 range 的列表理解和 cols 步长(而不是您使用的 rows)来对列表进行切片,并限制使用 rows 进行外部切片的项目数:

sample_list=[5, 2, 3, 4, 1, 6, 1, 6, 7, 2, 3]
rows=2
cols=4

result = [sample_list[x:x+cols] for x in range(0,len(sample_list),cols)][:rows]

结果:

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

关于python - 从给定长度和宽度的一维列表创建二维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468611/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com