在2D矩阵中插入新行

时间:2012-11-19 20:45:50

标签: python newline multidimensional-array

我有两个可以用来制作数组的函数:

    def makelist(size):
        list = []
        for i in range(size):
            list = list + [None]
        return list
    def mmatrix(rows,cols):
        matrix = makelist(rows)
        for i in range(rows):
            matrix[i] = makelist(cols)
        return matrix

当我创建一个数组:mmatrix(3,3))时,它会在同一行上打印所有三个数组。如何在数组之间插入新行?

2 个答案:

答案 0 :(得分:1)

您可以将代码简化为:

def mmatrix(rows, cols):
    return [[None for i in range(cols)] for j in range(rows)]

要回答您的问题,最明确的方法是逐行打印:

test = mmatrix(3,3)
for row in test:
    print row

答案 1 :(得分:1)

如果我理解正确,这只是打印时的格式问题。解决方案是使用换行符加入行:

print '\n'.join(mmatrix(3, 3))