2016-04-27 10 views
-1

Ich musste nie list.pop verwenden - oder zumindest erinnere mich nicht daran zu müssen. Ich war nur neugierig, warum dies eine eigene spezielle Methode ist.Warum existiert die Pop-Methode?

+2

Weil es eine sehr häufige Standardoperation für listenähnliche Datenstrukturen ist? –

+4

Es gibt viele Algorithmen, die 'list' Container als' stack' Datenstruktur verwenden. – GWW

Antwort

4

list.pop() kann nützlich sein, wenn Sie einen Stapel in Python implementieren.

Zum Beispiel

simplestack = list() 
simplestack.append(1) # [1] 
simplestack.append(2) # [1, 2] 
top = simplestack.pop() # 2 

Natürlich könnten Sie eher diese Funktion einfach codieren explizit, aber pop ist eine nette Abkürzung.

+0

Ich denke, es ist wichtig zu beachten, dass pop() ist O (1) (wie append()) - wie es für Stacks sein sollte. – brettb

+0

@brettb Neuling zur Komplexität hier, aber wäre keine einigermaßen dumme Umsetzung O (1)? –

+0

@AmitGold Dies ist der Unterschied zwischen Liste/Array und Stack. 'pop (i)', wobei 'i' ein Index ist, ist nicht notwendigerweise O (1). Nur 'pop()', wo Sie das letzte Element entfernen, ist O (1). – brettb