Python 在二维矩阵中插入新行

Python 在二维矩阵中插入新行,python,newline,multidimensional-array,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[

我有两个函数可以用来生成数组:

    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))
,它在同一行上打印所有三个数组。如何在数组之间插入新行?

您可以将代码简化为:

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

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


打印'\n'.join(mmatrix(3,3))

我必须使用我指定的函数,但我感谢您的回复。这很有帮助。