我想用python制作3*3矩阵格式的列表

我想用python制作3*3矩阵格式的列表,python,Python,我想用python制作3*3矩阵格式的列表,但当我尝试打印列表时,它会以单行打印列表项。我无法在循环的每个过程之间创建换行符 magic= [[ 0 for i in range (3)] for j in range (3)] print(magic,'\n') print() 原始代码:- magic= [[ 0 for i in range (3)] for j in range (3)] print(magic) 输出:- [[0, 0, 0], [0, 0, 0], [0, 0,

我想用python制作3*3矩阵格式的列表,但当我尝试打印列表时,它会以单行打印列表项。我无法在循环的每个过程之间创建换行符

magic= [[ 0 for i in range (3)] for j in range (3)]
print(magic,'\n')
print()
原始代码:-

magic= [[ 0 for i in range (3)] for j in range (3)]
print(magic)
输出:-

[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
我想要的输出:-

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

您可以加入内部列表并在单独的行中打印它

代码:

输出:

如果希望列对齐,则打印时可能需要一种格式:

def printmat(a, fmt="%12.2f"):
    for v in a:
        print(" ".join(str(fmt % x) for x in v))


printmat([[10**i * j for j in range(3)] for i in range(6)])

    0.00         1.00         2.00
    0.00        10.00        20.00
    0.00       100.00       200.00
    0.00      1000.00      2000.00
    0.00     10000.00     20000.00
    0.00    100000.00    200000.00

使用
for
循环浏览列表并打印条目:

for i in magic:
        print(" ".join([str(_) for _ in i]))
输出:

或:

for i in magic:print(i)
输出:


使用
print
sep
参数:

for _ in range(3):
    print(*(0 for _ in range(3)), sep=' ')

# 0 0 0
# 0 0 0
# 0 0 0
您可以使用:

import numpy as np

# if you want another way to get your  3x3 matrix
magic = np.zeros((3, 3), dtype=int).tolist()
print('\n'.join(' '.join([str(e) for e in l]) for l in magic))
输出:

0 0 0
0 0 0
0 0 0

您必须使用多维列表

矩阵=[]

对于范围(3)中的i:#因为您只需要3个列表 matrix.append([0,0,0]


打印(矩阵)

如果所有值都不是0怎么办?这只适用于OPexample@BlackThunder,根据OP的问题和示例,所有值都是0或任何其他数字。您能修复第二个示例的缩进吗?干杯!:)@arsho缩进是正确的。我添加了原始代码sexcellent示例!:)您是希望您的数据以这样的方式格式化自身,还是希望使用一些单独的函数以这样的方式格式化数据?
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
for _ in range(3):
    print(*(0 for _ in range(3)), sep=' ')

# 0 0 0
# 0 0 0
# 0 0 0
import numpy as np

# if you want another way to get your  3x3 matrix
magic = np.zeros((3, 3), dtype=int).tolist()
print('\n'.join(' '.join([str(e) for e in l]) for l in magic))
0 0 0
0 0 0
0 0 0