Übungsaufgaben 04

Listen und Iteration

Übungsaufgabe 04.01: Nichtdestruktive Listenoperationen

Was geben die folgenden Ausdrücke zurück? Schreiben Sie es auf, nach Möglichkeit, ohne es auszuprobieren.

  1. [2, 3] in [2, 3, [5], 7]
  2. 5 in [2, 3, [5], 7]
  3. 7 not in [2, 3, [5], 7]
  4. [2, 3] + [5] + [7]
  5. [2, 3] + [[5]] + [7]
  6. [2, 3, [5], 7][2]
  7. [2, 3, [5], 7][:2]
  8. [2, 3, [5], 7][1:3]
  9. len([2, 3, 5, 7])
  10. len([2, [3, 5], 7])
  11. [2, [2, 2], 2].count(2)
  12. [2, [2, 2], 2].index(2)
  13. sorted([[3, 2], [2, 3], [3, 3]])

Übungsaufgabe 04.02: Destruktive Listenoperationen

Was ist der Inhalt der Liste l nach jeder Anweisung? Schreiben Sie es auf, nach Möglichkeit, ohne es auszuprobieren.

>>> l = [2, 3, 5, 7, 11]
>>> l[1] = l[1] * 2
>>> l[1:2] = [3, 4]
>>> del l[2]
>>> del l[5:]
>>> l.append(17)
>>> l.insert(5, 13)
>>> l.extend([19, 21, 22, 23])
>>> l.pop(-2)
22
>>> l.remove(21)
>>> l.reverse()
>>> l.sort()
>>> l.clear()

Übungsaufgabe 04.03: Wörter extrahieren und sortieren

Schreiben Sie ein Programm tokens.py, das einen Text (z.B. Pride and Prejudice oder Moby Dick) vom Input liest, alle Wortvorkommen extrahiert und sortiert ausgibt, eins pro Zeile. Zum Beispiel:

$ cat moby-dick.txt | python3 tokens.py | tail -n 20
zeal
zeal
zephyr
zigzag
zip
zodiac
zodiac
zodiac
zone
zone
zone
zone
zone
zoned
zones
zones
zones
zoology
~
~5%

Tipps:

Bewahren Sie Ihre Lösung auch nach dem Vorzeigen auf! Wir werden dieses Programm nächste Woche erweitern.