这是我在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))
答案 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)