按列表中可迭代的最长字符串打印格式

Dat*_*ice 1 python

我有两个清单

l1 = ['aaaaaaaaaaaaaaaaa','bb'] 
l2 = ['FY', 'EY'] 
Run Code Online (Sandbox Code Playgroud)

我想遍历两个列表(长度始终相同)并打印由多个选项卡分隔的每个可迭代对象。

例如:

for x,y in zip(l1,l2):
    print(x,'\t'*3,y)


aaaaaaaaaaaaaaaaa            FY
bb           EY
Run Code Online (Sandbox Code Playgroud)

但是,我希望打印由列表中最长的元素标记,以便打印具有标准化格式:

print(formatted_print_tabs)


aaaaaaaaaaaaaaaaa            FY
bb                           EY
Run Code Online (Sandbox Code Playgroud)

我花了一些时间试图弄清楚这一点,但我却摸不着头脑。

a_g*_*est 5

您可以先计算最大宽度,然后用于ljust填充字符串:

width = max(map(len, l1))
for x, y in zip(l1, l2):
    print(x.ljust(width), y, sep='\t')
Run Code Online (Sandbox Code Playgroud)