[Python-de] Probleme mit listen

Stefan Behnel python-de at behnel.de
Fr Okt 25 15:00:10 CEST 2013


Hermann Riemann, 25.10.2013 14:38:
> Goce F. schrieb:
>> Es geht um Listen. Genauer gesagt um 2_Dimensionale Listen. Bei einer
>> Dimension kann ich über liste.append() ein neues Element anhängen.
> 
> Listen sind so etwas wie Ordner in Dateisystemen

Na, ob die Analogie es wirklich verständlicher macht?


> Man kann da beliebige Dateien äh Daten reinsetzen und rausnehmen.
> 
> a=["ab",3]
> for x in a: print(type(x))
> b=[a,7]
> a[1]=b
> del a[0]
> a+=["naja",17//4]
> print(b)
> print(a[0][0][0][0][0])
> 
> Hermann
>    der nicht sicher ist,
>    wie häufig eine Liste neu angelegt wird,
>    wenn immer nur ein Element angehängt wird.

"neu angelegt" wird die Liste als Objekt bei einem append() nicht. Aber
alle paar Male muss Python für die neuen Elemente mehr Speicher freimachen.
Weil das Aufwand ist, wird dabei dann nicht nur Platz für ein einzelnes
Element geschaffen, sondern gleich für mehrere.

Die gute Nachricht ist, dass das i.A. so gut funktioniert, dass mensch sich
darüber fast nie Gedanken machen muss. Der einzige wirklich haarige Fall
für Listen ist der, Elemente an einer Seite anzuhängen und an der anderen
einzeln wieder rauszulöschen (also eine Queue). Aber dafür gibt es den
Datentyp "collections.deque", sollte mensch also gar nicht erst mit Listen
versuchen.

Stefan



Mehr Informationen über die Mailingliste python-de