私が取り組んでいるアプリケーションでは、アイテムのセットを、各アイテムに関連付けられた確率と共に保存する必要があります。また、アイテムを一貫して列挙する何らかの方法が必要なので、defaultdict は私の目的にはあまり適していません。
現在、アイテムをタプルのリストとして格納し、アイテムを最初のスロットに、確率を 2 番目のスロットに格納しています。
mydata = zip(range(0,10), numpy.random.dirichlet([1]*10))
データ構造の例です (ただし、説明したようにキーが繰り返される場合があります)。
これをクラスにまとめるつもりですが、リストというよりも辞書のように繰り返し処理したいので、この種のコードをどのように記述すればよいかわかりません。
例えば、こんなことが言えるようになりたい
tree = [[wt, [sym, ""]] for sym, wt in mydata.items()]
(この例は、Rosetta コードのハフマン ツリーから取得したものです)。
Pythonですでにこれを行っているもの、または動作を拡張できるものはありますか?