将换行符打印语句插入(嵌套)? for loop?

时间:2013-11-11 04:17:26

标签: python for-loop matrix

我正在尝试使用用户指定的长度和宽度变量打印矩阵,但使用手动分配以便于阅读。现在我的输出不包括任何新行,但这正是我试图做的。

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(“\ n”)语句以正确打印矩阵。目前的输出如下:

[[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]]

2 个答案:

答案 0 :(得分:4)

恰好是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))

答案 1 :(得分:0)

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