来自基友的一个问题:

用python实现

输入是一个二维list,一个可能的输入如下所示:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Input_list = [

        [”china”,”is”,”a”,”great”,”country”],

          [“usa”,”always”,”korea”],

[“korea”,”has”,”lots of”,”database”],

[“this’s”,”something”,”fantastic”]

]

就是list中的每个元素还是一个listx,这个listx中的每个元素是一个长度不定的字符串,

要求给定这样一个输入,然后尽可能工整 美观的把这个list打印到你的终端上,如附件中图片所示:工整而且美观! 列之间用竖线隔开 ,行之间用一连串的等号隔开;

一个python二维列表格式化美观输出的题目 Python 第1张

我的代码:

Input_list = [["china","is","a","great","country"],
              ["usa","always","korea"],
              ["korea","has","lots of","database"],
              ["this's","something","fantastic"]]

max_size=max(max(len(j) for j in i) for i in Input_list)
max_col=max(len(i) for i in Input_list)

for i in range(len(Input_list)):
    for j in range(max_col):
        print(eval("'{: >"+str(max_size)+"}'.format(Input_list[i][j] if j < len(Input_list[i]) else '')"),end='|')
    print('\n'+'='*((max_size+1)*max_col))

效果

一个python二维列表格式化美观输出的题目 Python 第2张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄