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

来自基友的一个问题:

用python实现

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

Input_list = [

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

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

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

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

]

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

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

238f6460e19531b50ebdd520e828808

我的代码:

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))

效果

image

posted @ 2020-06-02 21:49  九命猫幺  阅读(1576)  评论(1编辑  收藏  举报