链表 - Python : 属性错误: 'NoneType'对象没有属性'data'



我正在尝试将2个排序的链表合并为单个排序的链表。

class Node:
    # Function to initialise the node object
    def __init__(self, data):
        self.data =data
        self.next = None
class LinkedList:
       def mergeNode(self, second_list):
        llist4 = LinkedList()
        first_node = self.head
        second_node = second_list.head
        while (first_node!=None or second_node != None):
            if (first_node.data > second_node.data):
                    llist4.push(first_node)
                    prev = first_node
                    first_node = first_node.next
            elif (first_node.data < second_node.data):
                    llist4.push(second_node)
                    prev = second_node
                    second_node = second_node.next
        else:
                llist4.push(first_node)
                llist4.push(second_node)
                prev = second_node
                second_node = second_node.next
                first_node = first_node.next
        return llist4
if __name__ == '__main__':
    llist = LinkedList()
    llist2 = LinkedList()
    llist3 = LinkedList()
    llist.push(15)
    llist.push(10)
    llist.push(5)
    llist2.push(12)
    llist2.push(3)
    llist2.push(2)
        llist3 = llist.mergeNode(llist2)
    llist3.printList()

但我的错误是:
" AttributeError: 'NoneType' object has no attribute 'data'"
我知道我可能在代码中使用None值,因为我无法找出原因。有人能帮我找出问题吗?

first_node!=None or second_node != None不能保证两个值都是None

first_node = None
second_node = "something"
print first_node!=None or second_node != None  # True

使用适当条件:

while first_node is not None and second_node is not None:
    do_something()

相关内容

最新更新