phrase='hello overflow'
sequence='00100011101010000110101011000110110100'
tree=[
[
[
[' ', 'f'],
['h', 'r']
],
[
['w', 'v'],
'e'
]
],
['l', 'o']
]
リスト「ツリー」の反復を行うのに少し問題があります。私がやりたいことは、ビットの入力ストリーム、この場合は「シーケンス」、「ツリー」が各ビットに応じて繰り返されることです。次に例を示します。
「シーケンス」の最初の 4 ビット (0010) に対応する「フレーズ」の文字「h」が必要な場合は、tree[0][0][1][0] に移動する必要があります。
これを行う方法について 2 つのアイデアがあります。そのうちの 1 つは、次のような for ループを使用することです。
for bit in phrase:
if len(tree[bit])>1:
calls recursive method, plus some rules
def recursive(list,bit):
return list[bit]
しかし、再帰メソッドのループ内では、ストリームから新しいビットをフィードできないため、問題が発生します。
もう1つは、「シーケンス」と「ツリー」の間で何らかの並列反復を使用することです。
誰でもこれに光を当てることができますか?