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

2024-06-26 14:24:59 发布

您现在位置: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, 0]]

输出I需要:-你知道吗

0 0 0
0 0 0
0 0 0

Tags: 代码in列表for过程格式magicrange
3条回答

使用sepprint参数:

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

# 0 0 0
# 0 0 0
# 0 0 0

您可以加入内部列表并将其打印在单独的行中。你知道吗

代码:

magic = [[ 0 for i in range (3)] for j in range (3)]
for line in magic:
    print(" ".join(map(str, line)))

输出:

0 0 0
0 0 0
0 0 0
def zeromat(n, p):
    return [[0] * p for i in range(n)]

def printmat(a):
    for v in a:
        print(" ".join(str(x) for x in v))

printmat(zeromat(3, 6))

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

相关问题 更多 >