Python Dicts:需要更好的输出

时间:2011-03-26 09:53:12

标签: python dictionary trie

我写了一段提供输出的代码。现在,这是一个特里。现在我想以审美的方式展示。有人帮助我。我的陈述应该是这样的http://en.wikipedia.org/wiki/File:Trie_example.svg

但我想要的是如何将这个巨大的怪物输出转换为整齐的输出,如[(1,2),(1,3),(1,4),(3,4)] ????

defaultdict(<type 'int'>, {'A': 1, 'W': 12})
defaultdict(<type 'int'>, {'A': 2, 'X': 25})
defaultdict(<type 'int'>, {'A': 3})
defaultdict(<type 'int'>, {'A': 4})
defaultdict(<type 'int'>, {'S': 5})
defaultdict(<type 'int'>, {'S': 6})
defaultdict(<type 'int'>, {'S': 7})
defaultdict(<type 'int'>, {'D': 8})
defaultdict(<type 'int'>, {'D': 9})
defaultdict(<type 'int'>, {'D': 10})
defaultdict(<type 'int'>, {'D': 11})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'R': 16, 'E': 13, 'F': 19})
defaultdict(<type 'int'>, {'E': 14})
defaultdict(<type 'int'>, {'E': 15})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'R': 17})
defaultdict(<type 'int'>, {'T': 18})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'F': 20})
defaultdict(<type 'int'>, {'F': 21})
defaultdict(<type 'int'>, {'D': 22})
defaultdict(<type 'int'>, {'D': 23})
defaultdict(<type 'int'>, {'D': 24})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'C': 26})
defaultdict(<type 'int'>, {'C': 27})
defaultdict(<type 'int'>, {'V': 28})
defaultdict(<type 'int'>, {'S': 29})
defaultdict(<type 'int'>, {})

1 个答案:

答案 0 :(得分:16)

你应该试试Pydot!这个包允许你创建一些图形线:

import pydot 

edges = [(1,2), (1,3), (1,4), (3,4)] 
g = pydot.graph_from_edges(edges) 
g.write_jpeg('graph_from_edges_dot.jpg', prog='dot')

The result

安装它:

pip install pydot

(如果您愿意,也可以使用easy_installPyPM

pydot需要pyparsing才能加载DOT文件和graphviz来渲染图形。

如果你想要一个png图片(例如),你可以替换

g.write_jpeg('graph_from_edges_dot.jpg', prog='dot')

通过

g.write('graph_from_edges_dot.png', prog='dot', format='png')

g.write_png('graph_from_edges_dot.png', prog='dot')

此处提供完整文档: PyDot documentation