Listen erstellen, ändern und organisieren
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
Ausgabe:
['trek', 'cannondale', 'redline', 'specialized']
Mit Index in eckigen Klammern
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])
print(bicycles[0].title())
Ausgabe:
trek
Trek
Listen sind 0-indexiert!
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[1])
print(bicycles[3])
Ausgabe:
cannondale
specialized
-1 gibt das letzte Element zurück
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1])
print(bicycles[-2])
Ausgabe:
specialized
redline
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
message = f"My first bicycle was a {bicycles[0].title()}."
print(message)
Ausgabe:
My first bicycle was a Trek.
→ kapitel_3_aufgaben_3-1_3-3.ipynb
↓ Lösungen
names = ['gödel', 'escher', 'bach']
print(names[0].title())
print(names[1].title())
print(names[2].title())
Gödel
Escher
Bach
names = ['gödel', 'escher', 'bach']
print(f"Hallo, Herr {names[0].title()}! Wie geht es Ihnen?")
print(f"Hallo, Herr {names[1].title()}! Wie geht es Ihnen?")
print(f"Hallo, Herr {names[2].title()}! Wie geht es Ihnen?")
Hallo, Herr Gödel! Wie geht es Ihnen?
Hallo, Herr Escher! Wie geht es Ihnen?
Hallo, Herr Bach! Wie geht es Ihnen?
books = ['PAIP', 'SICP', 'GEB']
print(f"I would like to own the book: '{books[0]}'.")
print(f"I would like to own the book: '{books[1]}'.")
print(f"I would like to own the book: '{books[2]}'.")
I would like to own the book: 'PAIP'.
I would like to own the book: 'SICP'.
I would like to own the book: 'GEB'.
Die meisten Listen werden sich während der Programmausführung ändern
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
Ausgabe:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
Fügt Element am Ende der Liste hinzu
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)
Ausgabe:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
Ausgabe:
['honda', 'yamaha', 'suzuki']
Fügt Element an beliebiger Position ein
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)
Ausgabe:
['ducati', 'honda', 'yamaha', 'suzuki']
Löscht Element an bekannter Position
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
Ausgabe:
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
Entfernt und gibt letztes Element zurück
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
Ausgabe:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki
motorcycles = ['honda', 'yamaha', 'suzuki']
last_owned = motorcycles.pop()
print(f"The last motorcycle I owned was a {last_owned.title()}.")
Ausgabe:
The last motorcycle I owned was a Suzuki.
Entfernt Element an beliebiger Position
motorcycles = ['honda', 'yamaha', 'suzuki']
first_owned = motorcycles.pop(0)
print(f"The first motorcycle I owned was a {first_owned.title()}.")
Ausgabe:
The first motorcycle I owned was a Honda.
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)
Ausgabe:
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print(f"\nA {too_expensive.title()} is too expensive for me.")
Ausgabe:
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.
→ kapitel_3_aufgaben_3-4_3-7.ipynb
↓ Lösungen
abendessen = ["Helmut Schmidt", "Buddha", "Julius Caesar"]
print(f"Ich möchte dich gerne zum Essen einladen, {abendessen[0]}.")
print(f"Ich möchte dich gerne zum Essen einladen, {abendessen[1]}.")
print(f"Ich möchte dich gerne zum Essen einladen, {abendessen[2]}.")
Ich möchte dich gerne zum Essen einladen, Helmut Schmidt.
Ich möchte dich gerne zum Essen einladen, Buddha.
Ich möchte dich gerne zum Essen einladen, Julius Caesar.
abendessen = ["Helmut Schmidt", "Buddha", "Julius Caesar"]
print(f"{abendessen[1]} kann nicht kommen.")
abendessen[1] = "Napoleon"
print(f"Ich lade dich zum Essen ein, {abendessen[0]}.")
print(f"Ich lade dich zum Essen ein, {abendessen[1]}.")
print(f"Ich lade dich zum Essen ein, {abendessen[2]}.")
Buddha kann nicht kommen.
Ich lade dich zum Essen ein, Helmut Schmidt.
Ich lade dich zum Essen ein, Napoleon.
Ich lade dich zum Essen ein, Julius Caesar.
abendessen = ["Helmut Schmidt", "Napoleon", "Julius Caesar"]
print("Ich habe einen größeren Tisch gefunden!")
abendessen.insert(0, "Hindenburg")
abendessen.insert(2, "Kennedy")
abendessen.append("Lincoln")
for gast in abendessen:
print(f"Ich lade dich zum Essen ein, {gast}.")
Ich habe einen größeren Tisch gefunden!
Ich lade dich zum Essen ein, Hindenburg.
Ich lade dich zum Essen ein, Helmut Schmidt.
Ich lade dich zum Essen ein, Kennedy.
Ich lade dich zum Essen ein, Napoleon.
Ich lade dich zum Essen ein, Julius Caesar.
Ich lade dich zum Essen ein, Lincoln.
abendessen = ['Hindenburg', 'Helmut Schmidt', 'Kennedy',
'Napoleon', 'Julius Caesar', 'Lincoln']
print("Ich kann leider nur zwei Personen einladen.")
while len(abendessen) > 2:
entfernt = abendessen.pop()
print(f"Es tut mir leid, {entfernt}, ich kann dich nicht einladen.")
for gast in abendessen:
print(f"{gast}, du bist noch eingeladen.")
del abendessen[0]
del abendessen[0]
print(abendessen)
Ich kann leider nur zwei Personen einladen.
Es tut mir leid, Lincoln, ich kann dich nicht einladen.
Es tut mir leid, Julius Caesar, ich kann dich nicht einladen.
Es tut mir leid, Napoleon, ich kann dich nicht einladen.
Es tut mir leid, Kennedy, ich kann dich nicht einladen.
Hindenburg, du bist noch eingeladen.
Helmut Schmidt, du bist noch eingeladen.
[]
Oft möchte man Listen in einer bestimmten Reihenfolge präsentieren
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
Ausgabe:
['audi', 'bmw', 'subaru', 'toyota']
Die Sortierung ist permanent!
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)
Ausgabe:
['toyota', 'subaru', 'bmw', 'audi']
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']
Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
Ausgabe:
['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']
Kehrt die Reihenfolge um (nicht alphabetisch!)
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(len(cars))
Ausgabe:
4
Nützlich für Schleifen und Bedingungen
→ kapitel_3_aufgaben_3-8_3-10.ipynb
↓ Lösungen
orte = ['Tokyo', 'New York', 'Paris', 'Sydney', 'Cairo']
print("Original:", orte)
print("Sortiert:", sorted(orte))
print("Original:", orte)
print("Rückwärts:", sorted(orte, reverse=True))
print("Original:", orte)
orte.reverse()
print("Nach reverse():", orte)
orte.reverse()
print("Wieder original:", orte)
orte.sort()
print("Permanent sortiert:", orte)
orte.sort(reverse=True)
print("Rückwärts sortiert:", orte)
Original: ['Tokyo', 'New York', 'Paris', 'Sydney', 'Cairo']
Sortiert: ['Cairo', 'New York', 'Paris', 'Sydney', 'Tokyo']
Original: ['Tokyo', 'New York', 'Paris', 'Sydney', 'Cairo']
Rückwärts: ['Tokyo', 'Sydney', 'Paris', 'New York', 'Cairo']
Original: ['Tokyo', 'New York', 'Paris', 'Sydney', 'Cairo']
Nach reverse(): ['Cairo', 'Sydney', 'Paris', 'New York', 'Tokyo']
Wieder original: ['Tokyo', 'New York', 'Paris', 'Sydney', 'Cairo']
Permanent sortiert: ['Cairo', 'New York', 'Paris', 'Sydney', 'Tokyo']
Rückwärts sortiert: ['Tokyo', 'Sydney', 'Paris', 'New York', 'Cairo']
abendessen = ["Helmut Schmidt", "Buddha", "Julius Caesar"]
print(f"Ich lade {len(abendessen)} Personen zum Essen ein.")
Ich lade 3 Personen zum Essen ein.
sprachen = ['Python', 'JavaScript', 'C++', 'Ruby', 'Go']
print(f"Anzahl: {len(sprachen)}")
print(f"Erste: {sprachen[0]}")
print(f"Letzte: {sprachen[-1]}")
sprachen.append('Rust')
sprachen.insert(1, 'Java')
entfernt = sprachen.pop()
print(f"Entfernt: {entfernt}")
del sprachen[0]
sprachen.remove('C++')
sprachen.sort()
print(f"Sortiert: {sprachen}")
Anzahl: 5
Erste: Python
Letzte: Go
Entfernt: Rust
Sortiert: ['Go', 'Java', 'JavaScript', 'Ruby']
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles[3]) # IndexError!
Fehler:
IndexError: list index out of range
Tipp: Verwende -1
für das letzte Element!
→ kapitel_3_aufgaben_3-11.ipynb
↓ Lösungen
# Absichtlicher IndexError
motorcycles = ['honda', 'yamaha', 'suzuki']
# print(motorcycles[3]) # IndexError!
# Korrigiert - letztes Element
print(motorcycles[-1]) # Funktioniert immer
# oder
print(motorcycles[2]) # Bei bekannter Länge
suzuki
suzuki
liste = ['a', 'b', 'c']
liste[0]
,
liste[-1]
liste[0] = 'neuer_wert'
append()
,
insert()
del
, pop()
,
remove()
sort()
,
sorted()
reverse()
len()
🐍 Happy Coding!