2016-08-19 6 views
-1

私は辞書を持っています。ここでkeyは数字であり、値は文字列です。私はそれらの文字列をラインで印刷したいと思います。しかし、行の長さは15としましょう。行内には15個の文字があります。現在の単語を行に追加すると15より長くなると、現在の単語は次の行に移動します。私はそれが結合機能で行うことができると思うが、私はそれがどのように見えるべきかについてはあまりよく分かっていない。私が今得た唯一の結果は、すべての行に印刷された単語または文字です。文章を与えられたスペースに合う単語に分割する方法は?

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. 
+2

ここでホイールを再発明する必要はありません。 ['textwrap.fill()'](https://docs.python.org/2/library/textwrap.html#textwrap.fill)を使用してください。 –

答えて

3

textwrap.fill() functionを使用します。これは、あなたの文字列を分割ラインごとに収まるどのように多くの単語を考え出すと、改行で行を再結合の面倒を見る:

import textwrap 

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

width keyword argument70デフォルト)と、必要に応じて幅を調整します。その他のオプションについては、モジュールのマニュアルを参照してください。

+0

ありがとうございます。出来た :) – Greg

関連する問題