获取二维列表并添加每一列



我正在尝试创建一个函数,用户在其中输入3x4二维列表的值,然后该函数打印数字网格,以及底部的一行额外的每列总和。目前,我甚至无法让它接受任何输入而不出现错误。以下是到目前为止我得到的内容,没有在末尾添加列。

def testMatrixFunctions():
row0 = raw_input("Enter a 3-by-4 matrix row for row 0: ")
row0.split()
map(float, row0.split())
[float(c) for c in row0.split()]
row1 = raw_input("Enter a 3-by-4 matrix row for row 1: ")
row1.split()
map(float, row1.split())
[float(c) for c in row1.split()]
row2 = raw_input("Enter a 3-by-4 matrix row for row 2: ")
row2.split()
map(float, row2.split())
[float(c) for c in row2.split()]
print row0
print row1
print row2

您可以使用numpy来获取列和

import sys
import numpy
ROWS = 3
COLS = 4
def main():
    global ROWS
    global COLS
    matrixData = []
    # Get input and process it
    for i in range(0, ROWS):
        thisRow = raw_input('Enter a 3-by-4 matrix row for row ' + str(i) + ' : ').split()
        evalRow = []
        [evalRow.append(eval(element)) for element in thisRow]      
        matrixData.append(evalRow)          
    numpyMatrix = numpy.array(matrixData)
    colSums = []
    [colSums.append(numpy.sum(numpyMatrix[:,index])) for index in range(0,COLS)]
    # Print the matrix
    for row in matrixData:
        print row
    print colSums
    return
if __name__ == '__main__':
    main()
    sys.exit(0)

最新更新