Beispiel [
Bearbeiten |
Quelltext bearbeiten ]
Als nicht triviales Beispiel sei hier der kompakte Sortieralgorithmus Quicksort angegeben:
def quicksort ( liste ): if len ( liste ) <= 1 : return liste pivotelement = liste . pop () links = [ element for element in liste if element < pivotelement ] rechts = [ element for element in liste if element >= pivotelement ] return quicksort ( links ) + [ pivotelement ] + quicksort ( rechts )
Hier ermöglicht insbesondere die Listennotation für die Variablen links und rechts eine kompakte Darstellung. Zum Vergleich eine iterative Formulierung dieser zwei Zeilen:
... links , rechts = [], [] # leere Listen für links und rechts anlegen pivotelement = liste . pop () # das letzte Element aus der Liste nehmen als Referenz for element in liste : # die restlichen Elemente der Liste durchlaufen ... if element < pivotelement : # ... und mit dem pivotelement vergleichen links . append ( element ) # wenn kleiner: dann an linke Liste anhängen else : rechts . append ( element ) # ansonsten wenn nicht kleiner: dann an rechte Liste anhängen