你好,我们假设我有一个2D数组a = [[1,2,1,2], [3,4,5,3], [8,9,4,3]]
,我想用表格的形式打印出来。到目前为止,我的代码是:如何以“漂亮”的格式打印二维数组?
def printArray(a):
for row in range(len(a[0])):
for col in range (len(a[0])):
b = print("{:8.3f}".format(a[row][col]), end = " ")
print(b)
当这样打印出来它给了我:
1.000 2.000 1.000 2.000 None
3.000 4.000 5.000 3.000 None
8.000 9.000 4.000 3.000 None
然后错误:
File "hw8pr2.py", line 17, in printArray
b = print("{:8.3f}".format(a[row][col]), end = " ")
IndexError: list index out of range
谁能告诉我这是为什么发生了什么?我不希望每行末尾都有'None'。我希望它输出:
1.000 2.000 1.000 2.000
3.000 4.000 5.000 3.000
8.000 9.000 4.000 3.000
你不需要声明一个变量来打印出东西。它没有返回任何值,因为变量b的for循环结束后,变量b实际上没有任何东西。删除最后一行。 – JackTheCrab
您正在为列和行使用'len(a [0])'。如果你有一个sqare矩阵它会起作用,但是你给出的例子不是这种情况。 –
要打印漂亮的表格,Python有一个巧妙命名为[prettytable]的模块(https://pypi.python.org/pypi/PTable/0.9.2)。 – Efferalgan