将换行符打印语句插入(嵌套)?对于循环



我正在尝试打印一个矩阵,其中包含用户分配的长度和宽度变量,但为了便于阅读,我使用了手动分配。 现在我的输出不包含任何新行,但这就是我正在尝试做的。

def matrix(rows,cols):
    grid = [[0 for i in range(cols)] for i in range(rows)]
    return grid
rows = 5
cols = 5
print(matrix(rows,cols))

是否可以在 for 语句中插入 print("") 语句以正确打印出矩阵。 目前输出如下:

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

期望输出:

[[0, 0, 0, 0, 0], 
 [0, 0, 0, 0, 0], 
 [0, 0, 0, 0, 0], 
 [0, 0, 0, 0, 0], 
 [0, 0, 0, 0, 0]]

这恰好是 pprint 的确切行为。

from pprint import pprint
def matrix(rows,cols):
    grid = [[0 for i in range(cols)] for i in range(rows)]
    return grid
rows = 5
cols = 5
pprint(matrix(rows,cols))

pprint 做你需要的事情很好,但你不应该为你的矩阵类型使用一个类吗? 使用裸列表列表可能会在以后咬你。

最新更新