<    >

Listen: Einfügen, Löschen, Sortierung

append():
Das übergebene Element wird in die Liste eingefügt.
remove():
Das übergebene Element wird aus der Liste entfernt.
Tipp!: Aus einer Liste, die man gerade mit for durchläuft sollte man nichts entfernen!
list():
Kopieren kann man eine Liste mit: kopierte_liste = list(original_liste).
sorted():
Damit kann die Liste sortiert werden.
#:
Das ist ein Kommentarzeichen. Was dahinter steht wird nicht ausgeführt

Achtung!:
Bei append() und remove() kommt die Methodenschreibweise (mit ".") zur Anwendung.
my_list.append("a") heisst: "Wende auf my_list die Methode mit dem Übergabeparamter 'a' an".
In dem Fall: "Füge in die Liste my_list den Text 'a' ein"

Im Unterschied dazu handelt es sich bei sorted() um einen Funktionsaufruf mit my_list als Übergabeparameter.
sorted() liefert eine sortierte Kopie der Liste zurück und ändert diese selbst nicht.
append() und remove() ändern die Liste hingegen selbst.



        
      

Übungen

1)
my_list = [12, -3, -4, 6, -21, 7, 14, -7, 3, -9, 0]
Durchlaufe die Liste. Erstelle 2 neue Listen.
In eine übertrage alle positiven Zahlen (inklusive der 0),
in die andere übertrage alle negativen.

2)
my_list_1 = ["Lisa", "Tom", "Peter", "Tim", "Tina", "Toni", "Susi", "Max", "Eva", "Sebastian", "Werner"]
my_list_2 = ["Tom", "Susi", "Eva"]
Entferne alle in Liste 2 vorkommenden Namen aus Liste 1.

3)
my_list = ["Lisa", "Tom", "Peter", "Tim", "Tina", "Toni", "Susi", "Max", "Eva", "Sebastian", "Werner"]
Gib die Liste sortiert aus. Verwende dafür die Funktion sorted().
Gib auch die Originalliste noch einmal aus, um zu zeigen, dass sie unverändert ist.

4)
my_list = [12, -3, -4, 6, -21, 7, 14, -7, 3, -9, 0]
Lösche aus der Liste alle Elemente, die kleiner -10 oder größer 10 sind.
Wegen der oben beschriebenen Gründe durchlaufe eine mit list() erstellte Kopie und lösche aus der Originalliste.







Lösungen

#-------------------------------
# 1)
# my_list = [12, -3, -4, 6, -21, 7, 14, -7, 3, -9, 0]
# Durchlaufe die Liste. Erstelle 2 neue Listen.
# In eine übertrage alle positiven Zahlen (inklusive der 0),
# in die andere übertrage alle negativen.

my_list = [12, -3, -4, 6, -21, 7, 14, -7, 3, -9, 0]
pos_list = []
neg_list = []
for element in my_list:
    if element < 0:
        neg_list.append(element)
    else:
        pos_list.append(element)
print(pos_list)
print(neg_list)

#-------------------------------
# 2)
# my_list_1 = ["Lisa", "Tom", "Peter", "Tim", "Tina", "Toni", "Susi", "Max", "Eva", "Sebastian", "Werner"]
# my_list_2 = ["Tom", "Susi", "Eva"]
# Entferne alle in Liste 2 vorkommenden Namen aus Liste 1.

my_list_1 = ["Lisa", "Tom", "Peter", "Tim", "Tina", "Toni", "Susi", "Max", "Eva", "Sebastian", "Werner"]
my_list_2 = ["Tom", "Susi", "Eva"]

print(len(my_list_1))
for element in my_list_2:
  my_list_1.remove(element)
print(my_list_1)
print(len(my_list_1))

#-------------------------------
# 3)
# Gib die Liste sortiert aus. Verwende dafür die Funktion sorted().
# Gib auch die Originalliste noch einmal aus, um zu zeigen, dass sie unverändert ist.

my_list = ["Lisa", "Tom", "Peter", "Tim", "Tina", "Toni", "Susi", "Max", "Eva", "Sebastian", "Werner"]
print(sorted(my_list))
print(my_list)

#-------------------------------
# 4)
# my_list = [12, -3, -4, 6, -21, 7, 14, -7, 3, -9, 0]
# Lösche aus der Liste alle Elemente, die kleiner -10 oder größer 10 sind.
# Wegen der oben beschriebenen Gründe durchlaufe eine mit list() erstellte
# Kopie und lösche aus der Originalliste.

my_list = [12, -3, -4, 6, -21, 7, 14, -7, 3, -9, 0]
my_list_copy = list(my_list)
for element in my_list_copy:
    if element < -10:
        my_list.remove(element)
    if element > 10:
        my_list.remove(element)
print(my_list)
<    >