我正在尝试创建一个矩阵,然后使用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]]
请告诉我为什么我会得到这种类型的输出并帮助正确的
答案 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)