Python中的递归霍夫曼编码

时间:2014-11-06 00:04:50

标签: python huffman-code

我被要求在Python中创建函数而不使用循环和树来表示霍夫曼编码。我从这个输入创建了函数:

[('a',4),('b',10),('c',15),('d',18),('e',42),('f',11)]

给出了这个输出:

('e', (('f', ('a', 'b')), ('c', 'd')))

现在,我应该创建将此输出编码为

的函数
[('e','0' ) , ('f','100') , ('a', '1010') , ( 'b' , '1011' ) , ('c', '110') , ('d','111' ) ]

我不知道如何(不使用循环)将元组更改为列表,同时将10添加到某些元素。

1 个答案:

答案 0 :(得分:0)

list() - >新的空列表

list(iterable) - >从可迭代的项目

初始化的新列表

元组是一个可迭代的元素,因此在一个元组上调用list将产生一个元素列表。