变量没有在Python中接收方法的返回值

flp*_*lpn 0 python methods return python-3.x

def return_node(self, head, position):
    if position == 0:
        # return the node correctly
        return head
    else:
        self.return_node(head.next_node, position - 1)

def insert_at_position(self, head, data, position):
    if position == 0:
        self.insert_first(head, data)
    elif position == self.length:
        self.insert_last(head, data)
    else:
        previous_node = self.return_node(head, position - 1)
        # previous_node's value is None instead of the method's return value
        next_node = self.return_node(head, position)
        # same here
        new_node = Node(data, next_node)
        previous_node.next_node = new_node
        self.length += 1
Run Code Online (Sandbox Code Playgroud)

我正在尝试在我的链表中实现一个方法,在特定位置插入一个节点.问题是:变量'previous_node'和'next_node'没有正确获取值.而不是节点值,他们得到无.感谢你们!

小智 6

else:
  self.return_node(head.next_node, position - 1)
Run Code Online (Sandbox Code Playgroud)

不会返回任何内容,因为没有return关键字.

return self.return_node(head.next_node, position - 1)

会做你想要的.