gpt4 book ai didi

python - 通过迭代树来解码比特序列

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:59 25 4
gpt4 key购买 nike

phrase='hello overflow'
sequence='00100011101010000110101011000110110100'
tree=[
[
[
[' ', 'f'],
['h', 'r']
],
[
['w', 'v'],
'e'
]
],
['l', 'o']
]

我在迭代列表“树”时遇到了一些问题。我想要做的是,给定一个输入位流,在本例中为“序列”,“树”根据每个位进行迭代,例如:

如果我想要“短语”中的字母“h”,对应于“序列”中的前 4 位(0010),我必须转到tree[0][0][1][0] .

关于如何做到这一点,我有两个想法,其中之一是使用这样的 for 循环:

for bit in phrase:
if len(tree[bit])>1:
calls recursive method, plus some rules

def recursive(list,bit):
return list[bit]

但这给我带来了一个问题,因为我无法在递归方法的循环内从流中提供新的位。

另一种方法是在“序列”和“树”之间使用某种并行迭代。

有人能解释一下吗?

最佳答案

你不需要递归。只需循环序列中的位即可。从pos = tree开始。对于每一位,沿树向下移动:pos = pos[bit]。如果 pos 仍然是一个列表,则继续下一位。如果 pos 不是列表,则输出该字符并将 pos 设置回根树并继续下一位。如果您离开循环时 pos 不等于 tree,请注意您收到的代码不完整的错误。

关于python - 通过迭代树来解码比特序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16264142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com