如何使用Python打印矩阵

时间:2016-08-26 19:19:52

标签: python

我正在尝试创建一个矩阵,然后使用python打印它,并带有以下预期输出:

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

代码如下:

    matrix=[[]]
    matrix = [[0 for x in range(4)] for x in range(4)]
    print matrix

但输出如下:

[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

请告诉我为什么我会得到这种类型的输出并帮助正确的

3 个答案:

答案 0 :(得分:2)

您得到的是矩阵的正确表示。您创建了一个包含4个列表的列表,每个列表包含4个0。如果你想以不同的方式打印它,那么你有一些选择,但你打印的是上述数据结构的表示。

for row in matrix:
  print ' '.join(map(str,row))

这对你有用。

答案 1 :(得分:1)

试试这个:

 select name1 as Name, value1 as Value from mytable
 union 
 select name2, value2 from mytable
 union 
 select name3, value3 from mytable

问题在于您尝试打​​印列表对象而不是字符串。这样你就可以将所有数字连接成1个大的字符串,用空格分隔列,用\ n(行结尾)表示行。

请注意,除非您使用前导零或空格填充1位数,否则此方法不适用于2位数字。为了使其在所有情况下都有效,我建议使用Tabulate模块。

答案 2 :(得分:0)

也许是这样的:

matrix=[[]]
matrix = [[0 for x in range(4)] for x in range(4)]
for a in matrix:
    ln = ""
    for i in a:
        ln += str(i) + " "
    print(ln)