Python格式表格输出[重复]

发布于 2021-01-29 15:04:03

这个问题已经在这里有了答案

将列表打印为表格数据
(14个答案)

3年前关闭。

使用python2.7,我正在尝试打印到屏幕表格数据。

这大致就是我的代码:

for i in mylist:
   print "{}\t|{}\t|".format (i, f(i))

问题是,取决于长度if(i)数据将不会对齐。

这就是我得到的:

|foo |bar |
|foobo   |foobar  |

我想要得到什么:

|foo     |bar     |
|foobo   |foobar  |

是否有允许执行此操作的模块?

关注者
0
被浏览
124
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    推出自己的格式化功能并不难:

    def print_table(table):
        col_width = [max(len(x) for x in col) for col in zip(*table)]
        for line in table:
            print "| " + " | ".join("{:{}}".format(x, col_width[i])
                                    for i, x in enumerate(line)) + " |"
    
    table = [(str(x), str(f(x))) for x in mylist]
    print_table(table)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看