垂直打印字典中的python列表


output_dictionary = {
"inputs": [3,5,10],
"squared": [9,25,100],
"cubed": [27,125,1000],
}
print('NumbertSquaretCube')
for key, value in output_dictionary.items():
# for num in value:
#     print(num, end="t")
# print()
for i in range(3):
print(value[i], end="t")
print()

我想用这种方式打印输出

Number  Square  Cube
3       9       27
5       25      125
10      100     1000

我试了几种方法,但都想不通。

以下是解决方案:

output_dictionary = {
"inputs": [3,5,10],
"squared": [9,25,100],
"cubed": [27,125,1000],
}
headers = ["Number", "Square", "Cube"]
values = output_dictionary.values()
row_format ="{:>10}" * (len(headers) + 1)
print(row_format.format("", *headers))
for value, row in zip(headers, values):
print(row_format.format("", *row))

将产生:

Number   Square     Cube
3         5        10
9        25        100
27       125       1000

这是另一个解决方案,与费德勒的评论一致。

o = {
"inputs": [3,5,10],
"squared": [9,25,100],
"cubed": [27,125,1000],
}
print('NumbertSquaretCube')
for i in range(3):
print(f'{o["inputs"][i]}t {o["squared"][i]}t {o["cubed"][i]}')
print()
print('Number   Square  Cube')
for count in range(3):
for i in output_dictionary:
print(output_dictionary[i][count], end="t")
print()

我终于想通了。打印循环是这样的。谢谢大家的帮助!

最新更新