У меня есть стек со связанным списком. Когда я звоню list.push()
, он отлично работает, но он ничего не делает, когда я делаю то же самое в funtion init()
. В чем может быть проблема?Вызов функции связанного списка
class Node:
def __init__(self, data):
self.data = data
self.nextNode = None
def __str__(self):
return str(self.data)
class linkedList:
def __init__(self):
self.head = None
self.end = None
def isEmpty(self):
return self.head == None
def push(self, item):
new_node = Node(item)
if not self.head:
self.head = self.end = new_node
else:
new_node.nextNode = self.head
self.head = new_node
#doesnt work
def init():
list = linkedList()
list.push("a")
init()
print(list.isEmpty()) #True
#works
list = linkedList()
list.push("a")
print(list.isEmpty()) #False
в первом примере, ваш «список» объект существует только в пределах функция. Пусть функция вернет «список». Код, который вы отправили, вызовет ошибку atttribute, потому что встроенный список не имеет атрибута isEmpty – user2682863