2016-05-02 3 views

答えて

2

私は通常defaultdict使用:

from collections import defaultdict 

def Tree(): 
    return defaultdict(Tree) 

使用法:

>>> records = Tree() 
>>> records['Artist']['Maria Callas']['Song']['O Mio Babbino Caro']['Year'] = 1965 

ボーナス:カラスO Mio Babbino Caro

+0

私は何のライブラリも使っていないものを探していました。しかし、ピーターに感謝します! –

+0

あなたはキューを使うことができますが、[Pythonのチュートリアル](https://docs.python.org/2/tutorial/datastructures.html#using-lists-as-queues)では、[** 'deque '**](https://docs.python.org/2/library/collections.html#collections.deque)は、組み込みの[**' collections' **](https://docs.python .org/2/library/collections.html)モジュールを 'defautldict'とともにインストールします。私はあなたの要件を理解しているか分からない。 –

1

歌うあなたがrepresに

{'value': None, 'nodes': []} 

を使用することができます各ノード。例えば

{'value': '+', 'nodes': 
    [ 
     {'value': '2', 'nodes': []}, 
     {'value': '*', 'nodes': 
      [ 
       {'value': '3', 'nodes': []}, 
       {'value': '5', 'nodes': []} 
      ] 
     } 
    ] 
} 

注:

enter image description here

は、次のように表すことができるのと同じ教育目的のために。より効率的なデータ構造が既に実装されています。

+0

ハムレットありがとう、まさに私が探していたものでした! –

関連する問題