#python #wiki
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
If you want to change selection, open document below and click on "Move attachment"
Python (Programmiersprache) – Wikipedia des angegebenen Programmiercodes
Weitere Grafiken[Bearbeiten | Quelltext bearbeiten]
[imagelink]
Bunter Kreis
[imagelink]
Stern
[imagelink]
Die Turtle zeichnet ein Quadrat
<span>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
...
Dies ist nur ein Beispiel für die gesparte Schreibarbeit durch die Listennotation. Tatsächlich ist in diesem Fall die iterative Formulierung die schnellere, da pro Durchgang nur Summary
status | not read | | reprioritisations | |
---|
last reprioritisation on | | | suggested re-reading day | |
---|
started reading on | | | finished reading on | |
---|
Details