2016-08-20 8 views
-1

私は辞書でPythonのpprintを使用しようとしていますが、何らかの理由でそれが動作していません。 `PPrintが動作しない(Python)?

from pprint import pprint 
message = "Come on Eileen!" 
count = {} 

for character in message: 
    count.setdefault(character, 0) 
    count[character] += 1 

pprint(count) 

そして、ここでは私の出力です:

{' ': 2, '!': 1, 'C': 1, 'E': 1, 'e': 3, 'i': 1, 'l': 1, 'm': 1, 'n': 2, 'o': 2} 

これで任意の助けをいただければ幸いです。ここに私のコードは、(私は私のIDEとしてプロPyCharmを使用しています)です。

+1

あなたはそれが動作していないと思わせる何か?代わりにあなたは何を期待しましたか?これは 'pprint()'の正しい出力です。出力は1行に収まります。 –

+0

私はPythonでBoring Stuffを自動化して読んでいます。第5章ではpprintについて説明し、コードの例を示します(私とほぼ同じですが)。別の行に出力されるキーペアの値を出力します。 *(私の弦が十分に長くなかったためにそれがやっていなかった理由が分かった) –

答えて

3

出力は完全に正しいと予想されます。 pprint module documentationから:それはをできれば

フォーマットされた表現は、単一のライン上のオブジェクトを保持し、与えられた幅に合わない場合は複数行にそれらを破ります。

太字強調。

あなたは別の行に印刷されているすべてのキーと値のペアを強制的に1widthキーワード引数を設定できます

>>> pprint(count, width=1) 
{' ': 2, 
'!': 1, 
'C': 1, 
'E': 1, 
'e': 3, 
'i': 1, 
'l': 1, 
'm': 1, 
'n': 2, 
'o': 2}