Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:snr:informatik:glf22:python:listen-altes-material [2022/09/26 18:12] Olaf Schnürer [Listen] |
lehrkraefte:snr:informatik:glf22:python:listen-altes-material [2022/09/26 20:44] (current) Olaf Schnürer |
||
---|---|---|---|
Line 4: | Line 4: | ||
- | ===== 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/ |