2016-08-20 50 views
-1

我試圖在字典上使用Python的pprint,但由於某些原因,它不起作用。這裏是我的代碼(我用PyCharm Pro作爲我的IDE):`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} 

任何幫助,將不勝感激。

+1

是什麼讓你覺得它不工作?你期望什麼?這是'pprint()'的正確輸出;輸出符合一行。 –

+0

我正在閱讀使用Python自動化鑽孔工具,第5章講述了pprint,給出了一個代碼示例(與我的幾乎完全相同),但顯示輸出爲單獨打印在不同行上的鍵值對。 *(我剛剛意識到不這樣做的原因是因爲我的弦不夠長) –

回答

3

輸出完全正確和預期。從pprint module documentation

的格式化表示保持對象在同一行,如果它能夠,並打破他們多行,如果他們不容許寬度內適合。

大膽重視我的。

您可以設置width關鍵字參數1迫使每一個鍵值對被打印在單獨一行:

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