Python:如何在控制台中打印两个列表垂直对齐

问题描述 投票:0回答:1

例如,我得到了两个列表,这是当他们得到这些元素时我的正常打印。

arr = [100, -23, -23, 404, 100, 23, 23, 23, 3, 404]
mem = [0, 10, 10, 10, 1, 10, 10, 10, 10, 10]

但是,我希望它们像这样打印:

arr = [100, -23, -23, 404, 100, 23, 23, 23,  3, 404]
mem = [  0,  10,  10,  10,   1, 10, 10, 10, 10,  10]

有谁知道如何打印这样的吗?

尝试: 搜索 Str.format()、print("".join("{} {}".formate( )) 类似的内容。 但这些对我来说不是正确的格式。

期望: 我希望我能得到像 C++ setwidth() 这样的函数。 谢谢

python string printing console
1个回答
0
投票

您走在正确的轨道上:您想要在数组的每个元素上应用

{:3}
格式说明符。

arr = [100, -23, -23, 404, 100, 23, 23, 23, 3, 404]
mem = [0, 10, 10, 10, 1, 10, 10, 10, 10, 10]

def format_list(l, f):
    es = ", ".join(f.format(e) for e in l)
    return f"[{es}]"

print(f"arr = {format_list(arr, '{:3}')}")
print(f"mem = {format_list(mem, '{:3}')}")
© www.soinside.com 2019 - 2024. All rights reserved.