gpt4 book ai didi

Python 漂亮的矩阵打印

转载 作者:行者123 更新时间:2023-11-28 20:10:10 25 4
gpt4 key购买 nike

我必须打印几行数据并做好。我可以用 C++ 更改 std::cout 的参数来做到这一点,但我不明白如何用 Python 来做到这一点。例如,我有这个:

row1 = [1, 'arc1.tgz', 'First', '15.02.1992']
row2 = [16, 'arc2modified.tgz', 'Second', 'today']
row3 = ['112', 'arc89.tgz', 'Corrupted', 'unknown']

我想打印这样的文字:

1    arc1.tgz          First      15.02.1992
16 arc2modified.tgz Second today
112 arc89.tgz Corrupted unknown

将它放在一个列表中,然后计算每个字符串中的符号,然后添加空格似乎是一个聪明的主意,但我想知道是否有更聪明的方法来做到这一点。

主要问题是我只能使用默认的 Python 模块。有没有可能做到这一点?非常感谢!

最佳答案

my_matrix = [row1, row2, row3]
print "\n".join(["\t".join(map(str, r)) for r in my_matrix])

预计到达时间:我原来的回答没有提到您希望每列的宽度固定,使用填充空格(而不是制表符)。看起来您还希望最长的数据和下一列之间恰好有两个空格。在这种情况下,可以按如下方式完成(注意 string 是内置的默认 Python 模块):

import string

max_lens = [max([len(str(r[i])) for r in my_matrix])
for i in range(len(my_matrix[0]))]

print "\n".join(["".join([string.ljust(str(e), l + 2)
for e, l in zip(r, max_lens)]) for r in my_matrix])

关于Python 漂亮的矩阵打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com