我想用python制作3*3矩阵格式的列表
我想用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,
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