在Python中对齐打印的字符串

时间:2014-12-04 23:54:30

标签: python string python-3.x text text-alignment

print('The most frequent bigram tags are:\n')
bigram = bigram_frequency(lines)
for i in bigram:
    print(i[0]+"\t\t"+str(i[1]))

这是我得到的:

N+N         5
N+DELM      3
DELM+DELM         2
N+P         2
DELM+P      2
P+N         2
DELM+N      2
CON+N       2
N+CON       2

我应该如何将第三行中有趣的2与群组的其他人对齐?

2 个答案:

答案 0 :(得分:2)

您可以使用字符串格式来获取特定的文本宽度,用空格填充:

for tag, frequency in bigram:
    print('{tag:10} {frequency}'.format(tag=tag, frequency=frequency))

10更改为第一列的最大宽度。

答案 1 :(得分:2)

您可以使用format

for i in [('fgd',1),('dg',2),('ggdd',3),( 'dd',4)]:
    print("{:5s} {:5d}".format(i[0], i[1]))


fgd       1
dg        2
ggdd      3
dd        4