以制表符形式打印元组列表

2024-09-22 16:38:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个元组列表:

list = [(element1, element2, element3), (elementelel4, element5, elementelement6), (el7, el8, elel9)]

我想将其打印为表格(因此元素之间的距离应该相同):

HEADER1       HEADER2    HEADER3
element1      element2   element3
elementelel4  element5   elementelement6
el7           el8        elel9

我试着用我找到的一些例子,但是它被用来打印一个列表列表,我有一个元组列表。


Tags: 元素距离列表list表格元组el7element2
3条回答

假设列表中的所有元组都具有相同的长度,可以使用以下命令:

l = [('element1', 'element2', 'element3'), ('elementelel4', 'element5', 'elementelement6'), ('el7', 'el8', 'elel9')]
width = max(len(e) for t in l for e in t[:-1]) + 1 
format=('%%-%ds' % width) * len(l[0])
print '\n'.join(format % tuple(t) for t in l)

输出:

element1     element2     element3
elementelel4 element5     elementelement6
el7          el8          elel9

使用Format Specification Mini-Language

print "HEADER1       HEADER2    HEADER3"
for ele1,ele2,ele3 in l:
    print "{:<14}{:<11}{}".format(ele1,ele2,ele3)

HEADER1       HEADER2    HEADER3
element1      element2   element3
elementelel4  element5   elementelement6
el7           el8        elel9

可以使用ljust在固定宽度内左对齐元素

column_width=20
for row in list:             
    for el in row:         
        print el.ljust(column_width), 
    print

输出

element1             element2             element3            
elementelel4         element5             elementelement6     
el7                  el8                  elel9  

相关问题 更多 >