如何在python中打印时正确对齐数据?

时间:2017-05-18 11:17:19

标签: python-3.x

我编写了一个python代码来打印不同列中的名称和年龄。名称和年龄存储在单独的列表中。问题是,数据在打印时不正确地对齐。我希望数据在每一列中都能正确对齐。请建议我如何修改代码以获得正确的输出。

name=['pav sunny','sham sunny','mala','shalu']
age=[25,56,52,50]
print('''NAME\t\tAGE\n''')
for i in range(len(name)):
      print(name[i],'\t\t',age[i])

1 个答案:

答案 0 :(得分:0)

好吧,你获得max()最长的名字,然后是最长名称的长度,然后你做了一些.ljust().rjust(),那就是它,例如:

name=['pav sunny','sham sunny','mala','shalu']
longest_name = max(name, key=len)
max_lenght = len(longest_name)
age=[25,56,52,50]
print('NAME'.ljust(max_lenght, ' '), '\t\t', 'AGE')
for i in range(len(name)):
      print(name[i].ljust(max_lenght, ' '), '\t\t', str(age[i]).rjust(3,' '))

这将输出:

NAME             AGE
pav sunny         25
sham sunny        56
mala              52
shalu             50