Listen
Der häufigste Container-Datentyp ist die Liste. Hierbei werden mehrere Einträge in einer festen Reihenfolge zusammengefasst:
coordinate = [1, 2, 3]
Die Einträge können dabei beliebige Datentypen sein:
mixed = [1, "zwei", 3.0]
Das ist natürlich wenig ratsam, zeigt aber die Flexibilität einer Liste. Mathematisch wirkt die Liste wie ein Vektor und kann zu einem Tensor generalisiert werden, da eine Liste wiederum eine Liste enthalten kann:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
elemente = ["H", "He", "Li"]
elemente[0] # Ergibt "H"
Hier ist zu berücksichtigen, dass bei der Indizierung in Python immer ab 0 gezählt wird. Das letzte Element kann auch mit einem negativen Index angesprochen werden:
elemente = ["H", "He", "Li"]
elemente[-1] # Ergibt "Li"
Teile einer Liste können mit einem Bereich (englisch slice) angesprochen werden:
elemente = ["H", "He", "Li", "Be", "B", "C"]
elemente[1:4] # Ergibt ["He", "Li", "Be"]
Listen können verändert werden, z.B. indem zunächst eine leere Liste mit []
oder list()
erstellt wird und dann Einträge mittels .append()
hinzugefügt werden:
elemente = []
elemente.append("H") # elemente ist jetzt ["H"]
elemente.append("He") # elemente ist jetzt ["H", "He"]
Einzelne Einträge können überschrieben oder entfernt werden:
elemente = ["H", "He", "Li"]
elemente[1] = "Helium" # elemente ist jetzt ["H", "Helium", "Li"]
del elemente[0] # elemente ist jetzt ["Helium", "Li"]
Will man die Stelle eines Eintrages wissen, kann man .index()
verwenden:
elemente = ["H", "He", "Li"]
elemente.index("He") # Ergibt 1
Die Länge einer Liste kann mit len()
ermittelt werden:
elemente = ["H", "He", "Li"]
len(elemente) # Ergibt 3
Die Liste kann auch sortiert werden, aber nur wenn der Vergleich zwischen den Datentypen zulässig ist:
elemente = ["eins", "zwei", "drei"]
elemente.sort() # elemente ist jetzt ["drei", "eins", "zwei"]
elemente = ["eins", 2, 3]
elemente.sort() # TypeError: '<' not supported between instances of 'int' and 'str'
Ob ein Wert enthalten ist, kann mit in
überprüft werden:
elemente = ["H", "He", "Li"]
"He" in elemente # Ergibt True
Mathematische Operationen wie +
und *
sind auch auf Listen anwendbar:
five_carbons = ["C"] * 5 # Ergibt ["C", "C", "C", "C", "C"]
both_lists = [1, 2, 3] + [4, 5, 6] # Ergibt [1, 2, 3, 4, 5, 6]