LISTEN/ARRAYS
Listen
list
- dynamische Liste
- speichert beliebige Datentypen
- änderbar

Erzeugen einer Liste:
- list=[]

Operationen:
- s[i] = t        ersetzt das i-te Element
- s[i:j] = t      ersetzt die i-te bis j.te Elemente
- s[i:j:k] = t    von i bis j, Schrittweite k
- del s[i]        löscht das i-te Element
- del s[i:j]      löscht die i-te bis j.te Elemente
- del s[i:j:k]

Methoden:
- s.append(x)
- s.extend(t)     t-Liste an s-Liste
- s.insert(i,x)   einfügen von x an i.ter Stelle
- s.pop()         Ausgabe des letzten Elements + danach in der Liste löschen
- s.pop(i)        Ausgabe des i-ten Elements + danach in der Liste löschen
- s.remove(x)     x Object
- s.reverse()
- s.sort()        
 s.sort(key)	  Beispiel s.sort(key=len), nach Länge
- s.sort(key, reverse)

Probleme:
- Zuweisungen sind nicht immer Referenzen (String)
- Bei Änderung ==> Scheidung, Aufteilen in zwei Referenzen
- nicht Typsicher

Beispiel:
a = "Hallo "
b = a             # hier Referenz
b += "Welt"
b                 # Ausgabe "Hallo Welt"
a                 # Ausgabe "Hallo"

a = [1337]
b = a             # hier Referenz
c = a[:]          # Kopie
b += [2674]
b                 # Ausgabe [1337, 2674]
a                 # Ausgabe [1337, 2674]
c                 # Ausgabe [1337]
a is b            # true


a=[1,2,3,4,5,6,7,8,9]
a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1]
a[::+1]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
a[::+2]
[1, 3, 5, 7, 9]



for-Schleife
Tuples/Tupels