Ich habe den folgenden Code:lokale Variable vor Python verwiesen
def popLast(aLinkedList):
ptr = aLinkedList
while ptr != None:
if ptr['next']['next'] == None and ptr['next'] != None:
del_node = ptr['data']
ptr['next'] = ptr['next']['next']
ptr = ptr['next']
return (del_node,ptr)
Als ich
myLinkedList = createList(['a', 'b', 0, [1, 2]])
for i in range(getLength(myLinkedList)):
(a, myLinkedList) = popLast(myLinkedList)
print(a, end = ", new list: ")
printList(myLinkedList)
setzen Es hält mich geben
UnboundLocalError: local variable 'del_node' referenced before assignment
Wenn ich popLast(myLinkedList)
nur verwenden, gibt es kein Problem. Alles funktioniert gut. Ich weiß nicht, ob es daran liegt, dass mein zurückkehrendes Tupel das Problem ist.
Der Verweis auf 'createlist' wird in Ihrem Code nicht erklärt. Bitte geben Sie uns ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve). –
Hinweis: PEP8 schlägt vor, dass Sie "while ptr is not None" anstelle von "while ptr! = None" verwenden. – Phrogz