我想使用pprint
来打印一些复杂的列表,请参见下面的示例:
>>> x = [OrderedDict([(u'D-ID', u'clci-2'), (u'R', u'1691')]), OrderedDict([(u'D-ID', u'dallas-pcc-1'), (u'R', u'5498')]), OrderedDict([(u'D-ID', u'gx-1'), (u'R', u'2275')]), OrderedDict([(u'D-ID', u'gx-2'), (u'R', u'0')]), OrderedDict([(u'D-ID', u'ocs-1'), (u'R', u'31735')]), OrderedDict([(u'D-ID', u'ocs-2'), (u'R', u'0')]), OrderedDict([(u'D-ID', u'pcc-gx-1'), (u'R', u'46351')]), OrderedDict([(u'D-ID', u'rgx-1'), (u'R', u'907')]), OrderedDict([(u'D-ID', u'rgx-2'), (u'R', u'1010')]), OrderedDict([(u'D-ID', u'rocs-1'), (u'R', u'915')]), OrderedDict([(u'D-ID', u'rocs-2'), (u'R', u'1033')])]
>>> pprint.pprint(x)
[OrderedDict([(u'D-ID', u'clci-2'), (u'R', u'1691')]),
OrderedDict([(u'D-ID', u'dallas-pcc-1'), (u'R', u'5498')]),
OrderedDict([(u'D-ID', u'gx-1'), (u'R', u'2275')]),
OrderedDict([(u'D-ID', u'gx-2'), (u'R', u'0')]),
OrderedDict([(u'D-ID', u'ocs-1'), (u'R', u'31735')]),
OrderedDict([(u'D-ID', u'ocs-2'), (u'R', u'0')]),
OrderedDict([(u'D-ID', u'pcc-gx-1'), (u'R', u'46351')]),
OrderedDict([(u'D-ID', u'rgx-1'), (u'R', u'907')]),
OrderedDict([(u'D-ID', u'rgx-2'), (u'R', u'1010')]),
OrderedDict([(u'D-ID', u'rocs-1'), (u'R', u'915')]),
OrderedDict([(u'D-ID', u'rocs-2'), (u'R', u'1033')])]
这很好,只是我想删除所有类型名(OrderedDict & u
)和所有不必要的[]
。是否可以使用pprint?
根据您的需要调整
replace
,我认为这看起来足够干净了如果只是为了打印一些
dict
和list
的内容(或从它们继承的类中的内容),最好使用其他序列化,例如JSON:您需要创建自己的^{} class 子类,并重写
.format()
方法:我们让基类完成大部分工作,只显式格式化
OrderedDict
;它有一个自定义的__repr__
,这意味着原始的pprint
实现只是使用它,而不是在它上面递归。你知道吗然后使用这个类而不是直接调用
pprint.pprint()
:这将产生:
相关问题 更多 >
编程相关推荐