List 获取二维列表并添加每个列
我试图创建一个函数,其中用户输入3x4二维列表的值,然后该函数打印数字网格,以及底部的一个额外行和每列的总和。目前,我甚至不能让它接受任何输入而不出错。这是我到目前为止得到的,没有在末尾添加列List 获取二维列表并添加每个列,list,python-2.7,matrix,List,Python 2.7,Matrix,我试图创建一个函数,其中用户输入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(
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)
您应该提供一份报告,准确显示您遇到的错误。但是,我不明白为什么要使用
map()
修改一个列表,然后给出一个不指定变量的列表理解。你能确切地解释一下你在找什么吗?我在早些时候根据别人的建议使用了map函数。说来话长。我需要的是用户的输入,变成一个2-D的3x4列表。然后,函数应该打印网格,并在底部额外打印一行,这是上面列的总和。