Python:在两列中打印

时间:2016-02-06 02:46:03

标签: python string printing multiple-columns

我正在尝试打印一个包含两个固定列的字符串。例如,我希望能够打印:

abc       xyz
abcde     xyz
a         xyz

打印时格式化输出字符串的正确方法是什么?另外,如何在2.6版之前和版本2.6之后完成?

4 个答案:

答案 0 :(得分:13)

您可以在列之间使用格式和提及修复空间

'{0:10}  {1}'.format(s1, s2)

旧样式格式

'%-10s' '%s' % (s1,s2)

答案 1 :(得分:1)

这适用于所有元素长度(假设它们是字符串。这假设您的数据分为两个单独的列表firstsecond

maxlen = len(max(first, key=len))

for i,j in zip(first, second):
    print "%s\t%s" % (i.ljust(maxlen, " "), j)

这适用于Python 2.x,2.6之前和之后。

答案 2 :(得分:1)

在> = python3.6之前

s1='albha'
s2='beta'

f'{s1}{s2:>10}'

#output
'albha      beta'

答案 3 :(得分:0)

有很多方法可以做到这一点,这取决于数据的存储方式。确认您的数据存储在相同长度的列表中:

for i in range(len(list1)):
    print(“%3i\t%3i” %(list1[i],list2[i]))

这适用于所有版本的python。 3i确保输出的字段宽度为3个字符