问题描述
我正在做关于霍夫曼编码的项目,这发生了 'str' 对象没有属性 'append' node[pos].append("0")
while len(letters)>0:
nodes.append(letter[0:2])
letters = letters[2:]
nodes.sort()
huffman_tree = []
huffman_tree.append(nodes)
def combine(nodes):
pos = 0
newnode = []
if len(nodes)>1:
nodes.sort()
nodes[pos].append ("0")
nodes[pos+1].append ("1")
combined_node1 = (nodes[pos][0]+nodes[pos+1][0])
combined_node2 = (nodes[pos][1]+nodes[pos+1][1])
newnode.append(combined_node1)
newnode.append(combined_node2)
newnodes = []
newnodes.append(newnode)
newnodes = newnodes + node[2:]
nodes = newnodes
huffman_tree.append(nodes)
combine(nodes)
return huffman_tree
newnodes = combine(nodes)
我希望将节点列表添加为 node[pos][0] 但出现这种情况我该怎么办
解决方法
附加到字符串的方式是用 +
创建一个新字符串并赋值。
node[pos] = node[pos] + '0'
字符串是不可变的,因此它不可能有 append
方法。