为什么在python中使用del删除链表节点不会自动将前一个节点的next指针更改为None

kr98yfug  于 2023-02-10  发布在  Python
关注(0)|答案(1)|浏览(118)

我用3节点创建了一个链表。然后我用del关键字删除了最后一个节点。我还尝试将最后一个节点赋值为None。当我打印链表时,没有任何变化
为什么它不起作用。请指导我的概念,我错过了谢谢

class node:
    def __init__(self, data):
        self.data= data
        self.next = None
    def printLL(self):
        temp = self
        while(temp):
            print(temp.data, end=" ")
            temp = temp.next
        print("None")
        print()

# creating linked list
head = node(1)
node2 = node(2)
node3 = node(3)
head.next = node2
node2.next = node3
head.printLL()

#deleting the last node
del node3
# or
# node3 = None

head.printLL()

输出
期望产量

cuxqih21

cuxqih211#

您需要单独实现delete函数。
您需要将倒数第二个节点的next设置为None

node2.next = None

del node3

请查看this以了解更多详细信息。

相关问题