微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“str”对象没有附加节点的“附加”属性

如何解决“str”对象没有附加节点的“附加”属性

我正在做关于霍夫曼编码的项目,这发生了 '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 方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。