我使用pprint
很好地打印dict
,它的工作正常。現在我切換到使用模塊collections
中的OrderedDict
。不幸的是,pprint
路由似乎並沒有認識到這些對象或多或少都是dict
,並且退回到打印這條長線。漂亮打印OrderedDicts使用pprint
>>> d = { i:'*'*i for i in range(8) }
>>> pprint.pprint(d)
{0: '',
1: '*',
2: '**',
3: '***',
4: '****',
5: '*****',
6: '******',
7: '*******'}
>>> pprint.pprint(collections.OrderedDict(d))
OrderedDict([(0, ''), (1, '*'), (2, '**'), (3, '***'), (4, '****'), (5, '*****'), (6, '******'), (7, '*******')])
還有什麼方法可以更好地表示OrderedDict
s?也許即使它們嵌套在裏面正常dict
或list
?
是的,好吧,好的。這看起來像一個元組列表,不再像'dict'一樣。我希望看起來像一個字典(也許只是忽略了這是一個有序的事實)的表示。 – Alfe
我認爲你甚至可以在'd.items()'的周圍去掉'list'。但我仍然想知道爲什麼'pprint'甚至在OrderedDict中存在這樣的問題;畢竟他們正在諷刺「字典」。 – Alfe
啊,我認爲它是否在一個基於「也許即使它們嵌套在一個正常字典或列表裏面」的列表中也沒關係? – misakm