我可以将这两行合并为一行吗?

时间:2020-03-05 21:07:59

标签: python

这是我在Python中的链表的开始代码:

class List:

    def __init__(self):
        self.head = None
        self.next = None

class Node:

    def __init__(self, data, reference = None):
        self.data = data
        self.reference = reference


if __name__ == '__main__':

    linked_list = List()
    linked_list.head = Node(15)

我的问题是,是否可以将主体中的两行合并为一行?

例如,(我知道这行不通)。

linked_list = List(self.head = Node(15))

3 个答案:

答案 0 :(得分:3)

在init中将其设为参数:

class List:

def __init__(self, head=None):
    self.head = head
    self.next = None

然后提供它作为参数:

linked_list = List(head = Node(15))

答案 1 :(得分:1)

您可以将头节点传递到List类的构造函数中。

class List:

    def __init__(self, head):
        self.head = head
        self.next = None

class Node:

    def __init__(self, data, reference = None):
        self.data = data
        self.reference = reference


if __name__ == '__main__':
    Linked_List = List(head=Node(15))

答案 2 :(得分:0)

您可以在Python 3.8+中使用赋值表达式来做到这一点:

(Linked_List := List()).head = Node(15)