格式化文本输出

时间:2015-07-20 02:35:50

标签: python python-3.x

def formatWords(words):
  result = "Word List:\tWord Count:\n"
  for i in words:
    result += i + ":\t" + str(words.count(i)) + "\n"
  return result

单词只是一个字符串数组。

我应该得到

的输出

Desired Output

我得到了

的输出

enter image description here

如何将字符串格式化为第一张图片?

3 个答案:

答案 0 :(得分:1)

使用字符串方法ljust()

result += (i+':').ljust(20) + str(words.count(i)) + '\n'

20是该字符串的总大小,填充时需要很多空格才能达到该大小。

答案 1 :(得分:1)

示例1:

row_format = "{:<15}" * 2
rows = [('word list:', 'word_count'),
        ('brown', 1),
        ('dog', 1)]
for row in rows:
    print row_format.format(*row)

输出:

word list:     word_count     
brown          1              
dog            1     

示例2:

row_format = "{:<15}{:^15}"
rows = [('word list:', 'word_count'),
        ('brown', 1),
        ('dog', 1)]
for row in rows:
    print row_format.format(*row)  

输出:

word list:       word_count   
brown                 1       
dog                   1     

Format Specification Mini-Language提供了更多详细信息。

答案 2 :(得分:0)

使用format功能。

result += "{:<20}{:<30}\n".format(i, words.count(i))