Wie sollte ich sie verwenden? Welche ist besser?
Was ist der Unterschied zwischen den Methoden append und extend für eine Liste in Python? Die Methode extend erfordert eine iterable wie eine Liste als Eingabe. Wenn sie aufgerufen wird, fügt sie die Elemente der Eingabe nacheinander der Liste hinzu, jedes als einzelnes Element in der ursprünglichen Liste.

Die Methode append kann jeden Datentyp als Eingabe akzeptieren. Wenn sie aufgerufen wird, fügt sie die gesamte Eingabe als einzelnes Element der Liste hinzu.

Hier ist ein Beispiel, das den Unterschied verdeutlicht.

```python
# mit extend
a = ["rot", "grün", "blau"]
b = ["Hemd", "Schuhe", "Gürtel"]

a.extend(b)
print(a) # zeigt ['rot', 'grün', 'blau', 'Hemd', 'Schuhe', 'Gürtel'] 

# mit append
a = ["rot", "grün", "blau"]
b = ["Hemd", "Schuhe", "Gürtel"]

a.append(b)
print(a) # zeigt ['rot', 'grün', 'blau', ['Hemd', 'Schuhe', 'Gürtel']]
```
Wie du sehen kannst, haben die Listen "a" und "b" jeweils drei Elemente.

Im ersten Beispiel werden mit extend die Elemente der Liste "b" als einzelne Elemente der Liste "a" hinzugefügt, was zu einer Liste mit sechs Elementen führt.

Im zweiten Beispiel wird mit append die gesamte Liste "b" als ein einzelnes Element der Liste "a" hinzugefügt, was zu einer Liste mit vier Elementen führt.
Die Wahl hängt von deinem spezifischen Anwendungsfall ab, da sie unterschiedliche Operationen ausführen.

Wenn du zwei Listen verbinden möchtest, solltest du extend verwenden. Dies liegt daran, dass extend jedes Element in `b` zu `a` hinzufügt.
Wenn du die Liste `b` zu einem Element der Liste `a` machen möchtest, solltest du append verwenden. Dies liegt daran, dass append die gesamte Liste `b` als ein einzelnes Element zu `a` hinzufügt. Dadurch werden die Listen verschachtelt anstatt eine einzige eindimensionale Array zu sein.

Letztendlich ist keine Methode besser, da sie beide in verschiedenen Kontexten verwendet werden.