如何将句子分成适合给定空间的单词?

时间:2016-08-19 12:27:15

标签: python

我有一个字典,其中键是数字,值是字符串。我希望它能在行中打印这些字符串。但是这些线的长度比如15,所以可以有15个字符。如果将当前字添加到行使其长于15,则将当前字移动到下一行。我认为它可以通过join函数完成,但我不太确定它应该是什么样子。我现在得到的唯一结果就是每一行都印有文字或字符。

dictionary = { 1 : "hello i am Alice. i have a cat", 
               2 : "his name is Bob"
             }

for elem in dictionary:
    words = dictionary[elem].split(" ")
    dictionary[elem] = "\n".join(....)

我的目标结果如下:

 hello i am 
 Alice. i 
 have a cat
 his name 
 is Bob.

1 个答案:

答案 0 :(得分:3)

使用textwrap.fill() function;这需要分割你的字符串,弄清楚每行有多少单词,并用换行符重新连接:

import textwrap

for elem, string in dictionary.items():
    dictionary[elem] = textwrap.fill(string)

使用width keyword argument根据需要调整宽度(默认为70)。有关其他选项,请参阅模块文档。