How can I align every word from this list?

前端 未结 2 1860
遇见更好的自我
遇见更好的自我 2021-01-29 06:17

I have a list of lists in a file:

[ [ \'aaaaa\', \'bbb\',\'ccccccccc\' ], [ \'aaaaa\', \'bbbbbb\',\'cccccc\' ], [ \'aaa\', \'bbb\',\'ccccccccc\' ] ]
2条回答
  •  鱼传尺愫
    2021-01-29 06:35

    Tested with Python2.7:

    lst = [ [ 'aaaaa', 'bbb','ccccccccc' ], [ 'aaaaa', 'bbbbbb','cccccc' ], [ 'aaa', 'bbb','ccccccccc' ] ]
    
    widths = [max(len(j) for j in i) for i in zip(*lst)]
    s = ''.join('{{:<{}}}'.format(w+2) for w in widths)
    
    for v in lst:
        print(s.format(*v))
    

    Prints each column aligned to max width of string inside this column + 2 extra characters:

    aaaaa  bbb     ccccccccc  
    aaaaa  bbbbbb  cccccc     
    aaa    bbb     ccccccccc  
    

提交回复
热议问题