首页 > 解决方案 > 如何将列表变成方阵?

问题描述

我是 python 新手。

我试图弄清楚如何打开这样的列表:

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

变成一个看起来像这样的方阵:

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

没有任何模块。

标签: pythonmatrix

解决方案


假设列表的长度和所需矩阵的长度是兼容的,那么这里是另一个版本;

l = [1, 2, 3, 4, 5, 6, 7, 8, 9]

n = 3 # size square matrix

m = []

counter = 0
for i in range(len(l)//3):
    m += [ l[counter* n: counter*n + n ]]
    counter += 1

print(m)

输出

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

counter操作...在我的回答中有一些冗余(不需要)...这里是最终版本

l = [1, 2, 3, 4, 5, 6, 7, 8, 9]

n = 3 # size square matrix
m = []

for i in range(len(l)//3):
    m += [ l[i* n: n*(i+1) ]]


推荐阅读