Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lehrkraefte:snr:informatik:glf22:python:listen-altes-material [2022/09/26 16:46] Olaf Schnürer created |
lehrkraefte:snr:informatik:glf22:python:listen-altes-material [2022/09/26 20:44] Olaf Schnürer |
||
---|---|---|---|
Line 2: | Line 2: | ||
====== Listen ====== | ====== Listen ====== | ||
- | <WRAP round todo> | ||
- | Teste das Programm | ||
- | <code python> | ||
- | schuelerliste = [" | ||
- | print(schuelerliste[0]) | ||
- | print(schuelerliste[4]) | ||
- | print(schuelerliste) | ||
- | # len steht fuer length | ||
- | print(len(schuelerliste)) | ||
- | </ | ||
- | </ | ||
- | <WRAP round info> | ||
- | Der Ausdruck '' | ||
- | Abstrakt ist eine Liste eine Datenstruktur, | ||
- | Der Wert der Variablen '' | ||
- | </ | ||
- | |||
- | ===== Schleifen über Listen ===== | ||
- | <WRAP round todo> | ||
- | Der folgende Code illustriert, | ||
- | <code python> | ||
- | schuelerliste = [" | ||
- | for s in schuelerliste: | ||
- | print(s) | ||
- | </ | ||
- | </ | ||
- | |||
- | <WRAP round info> | ||
- | Hier noch zwei Alternativen, | ||
- | * Mit einer '' | ||
- | schuelerliste = [" | ||
- | for zaehler in range(len(schuelerliste)): | ||
- | print(schuelerliste[zaehler]) | ||
- | </ | ||
- | * Mit einer '' | ||
- | schuelerliste = [" | ||
- | zaehler = 0 | ||
- | while zaehler < len(schuelerliste): | ||
- | print(schuelerliste[zaehler]) | ||
- | zaehler = zaehler + 1 | ||
- | </ | ||
- | </ | ||
- | |||
- | <WRAP round todo> | ||
- | Ergänze die Liste um weitere fünf Namen und modifiziere mindestens eines der obigen Programm so, dass nur jeder zweite Name aus der Liste ausgegeben wird! | ||
- | Wenn du magst, kannst du bei jedem Namen zusätzlich seine (gerade) Nummer in der Liste ausgeben. | ||
- | </ | ||
- | |||
- | |||
- | ===== Extraktion von Teil-Listen ===== | ||
- | |||
- | <WRAP round todo> | ||
- | Der folgende Code illustriert, | ||
- | <code python> | ||
- | schuelerliste = [" | ||
- | a = schuelerliste[1: | ||
- | print(a) | ||
- | b = schuelerliste[: | ||
- | # Lässt man den ersten Parameter weg, wird dieser also automatisch auf ... gesetzt. | ||
- | print(b) | ||
- | |||
- | c = schuelerliste[2: | ||
- | # Lässt man den zweiten Parameter weg, wird dieser automatisch auf ... gesetzt. | ||
- | print(c) | ||
- | |||
- | d = schuelerliste[: | ||
- | # Lässt man beide Parameter weg, so werden diese automatisch auf ... und ... gesetzt. | ||
- | # Dies ist nützlich, um eine Kopie der Liste zu erstellen, vgl. die Diskussion unten, wo wir erklären, dass Listen //mutabel// sind. | ||
- | print(d) | ||
- | |||
- | # Die beiden Parameter dürfen auch negativ sein! Was bewirkt das? Hinweis: Zähle vom Ende der Liste! | ||
- | e = schuelerliste[-4: | ||
- | print(e) | ||
- | |||
- | # Auch ein dritter Parameter ist erlaubt (als Schrittweite). | ||
- | f = schuelerliste[0: | ||
- | print(f) | ||
- | |||
- | </ | ||
- | Expertenwissen: | ||
- | Sogar negative Schrittweiten sind erlaubt. | ||
- | <code python> | ||
- | g = schuelerliste[6: | ||
- | print(g) | ||
- | </ | ||
- | Um die Reihenfolge der Elemente einer Liste umzukehren, ist die folgende Syntax erlaubt. | ||
- | <code python> | ||
- | h = schuelerliste[:: | ||
- | # Beachte hier, dass die weggelassenen beiden ersten Parameter hier nicht wie oben durch ... und ... ersetzt werden, | ||
- | # sondern auf Grund der negativen Schrittweite durch ... und ... | ||
- | print(h) | ||
- | </ | ||
- | </ | ||
- | |||
- | <WRAP round todo> | ||
- | Oben hast du ein Programm geschrieben, | ||
- | </ | ||
- | |||
- | |||
- | ===== Modifikation von Listen ===== | ||
- | |||
- | <WRAP round todo> | ||
- | Der folgende Code illustriert, | ||
- | <code python> | ||
- | schuelerliste = [" | ||
- | schuelerliste[2] = " | ||
- | print(schuelerliste) | ||
- | schuelerliste.append(" | ||
- | print(schuelerliste) | ||
- | schuelerliste.append(" | ||
- | print(schuelerliste) | ||
- | name = schuelerliste.pop(3) | ||
- | print(name) | ||
- | print(schuelerliste) | ||
- | name = schuelerliste.pop() | ||
- | print(name) | ||
- | print(schuelerliste) | ||
- | schuelerliste.insert(2, | ||
- | print(schuelerliste) | ||
- | x = schuelerliste.index(" | ||
- | print(x) | ||
- | print(schuelerliste) | ||
- | schuelerliste.remove(" | ||
- | print(schuelerliste) | ||
- | schuelerliste.sort() | ||
- | print(schuelerliste) | ||
- | schuelerliste.reverse() | ||
- | print(schuelerliste) | ||
- | </ | ||
- | Beachte die neue Syntax: (Name der Liste) + Punkt + Funktionsaufruf! Solche Funktionsaufrufe verändern bisweilen nur die Liste (wie '' | ||
- | </ | ||
- | |||
- | <WRAP round todo> | ||
- | Schreibe ein Programm, welches den Benutzer nach Zahlen fragt und diese in einer Liste speichert. Wenn der Benutzer anstelle einer Zahl den Buchstaben '' | ||
- | |||
- | Hinweis: Verwende eine '' | ||
- | </ | ||
- | |||
- | ===== Was Listen alles enthalten können ===== | ||
- | |||
- | <WRAP round info> | ||
- | Listen sind sehr flexible Datenstrukturen: | ||
- | <code python> | ||
- | seltsameliste = [" | ||
- | print(seltsameliste) | ||
- | print(seltsameliste[4]) | ||
- | print(seltsameliste[4][2]) | ||
- | </ | ||
- | </ | ||
- | |||
- | ===== Listen erzeugen ===== | ||
- | |||
- | <WRAP round todo> | ||
- | Verstehe die folgenden Befehle! | ||
- | <code python> | ||
- | zahlen = list(range(10)) | ||
- | print(zahlen) | ||
- | zahlen2 = list(range(10, | ||
- | print(zahlen2) | ||
- | |||
- | zahlen3 = [x*x for x in zahlen] | ||
- | print(zahlen3) | ||
- | </ | ||
- | </ | ||
- | |||
- | <WRAP round todo> | ||
- | Schreibe ein Programm, das mit Hilfe des [[https:// | ||
- | </ | ||
===== Listen sind mutabel/ | ===== Listen sind mutabel/ | ||
Line 422: | Line 254: | ||
<WRAP center round info> | <WRAP center round info> | ||
- | === Definition von Listen durch aufzählende Schreibweise === | ||
- | * Eine Liste ist eine Datenstruktur, | ||
- | * In Python kann man Listen durch aufzählende Schreibweise definieren, z. B. erzeugt der Befehl '' | ||
- | * Die Anzahl der Elemente einer Liste erhält man mit der Funktion '' | ||
- | === Test, ob ein Element in einer Liste auftaucht === | ||
- | * Mit dem Schlüsselwort '' | ||
- | * Beispielsweise liefert ''" | ||
- | * ''" | ||
- | === Zugriff auf Listenelemente === | ||
- | * Auf die Einträge einer Liste kann man mit Hilfe der Syntax ''< | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
=== Extraktion von Teillisten === | === Extraktion von Teillisten === | ||
* Extraktion von Teillisten mit ''< | * Extraktion von Teillisten mit ''< |