Übungsaufgaben 05

Dictionarys

Übungsaufgabe 05.01: Nichtdestruktive Dictionary-Operationen

Nehmen Sie an, dass in der Variablen tel das folgende Dictionary gespeichert ist:

{
    'work': {'Jack': '49', 'Jill': '06', 'James': '44'},
    'private': {'Kyle': '424733', 'Karen': '511727'}
}

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

  1. len(tel)
  2. len(tel['work'])
  3. len(tel['private'])
  4. tel['work']['Jill']
  5. tel['work'].get('Jane')
  6. '06' in tel['work']
  7. 'Jack' in tel['work']
  8. list(tel.keys())
  9. list(tel['work'].keys())
  10. list(tel['private'].values())
  11. tel['private'].copy()

Übungsaufgabe 05.02: Destruktive Dictionary-Operationen

Was ist der Inhalt des Dictionarys d nach jeder Anweisung? Schreiben Sie es auf, nach Möglichkeit, ohne es auszuprobieren.

>>> d = {'Jack': '49', 'Jill': '06', 'James': '44'}
>>> d['Jill'] = '46'
>>> del d['Jack']
>>> d.pop('James')
>>> d.pop('Jane', None)
>>> d.setdefault('Jill', None)
>>> d.setdefault('Jack', None)
>>> d.setdefault('James', None)
>>> d.update({'Jack': '59', 'James': '54', 'Jane': '56'})
>>> d.clear()

Übungsaufgabe 05.03: Wortfrequenzliste mit Python

Erstellen Sie ein Programm freq.py, das aus dem Input eine Wortfrequenzliste erstellt.

So wie tokens.py sollte es einen Text vom Standard-Input lesen und in Wörter zerlegen.

Als Output sollte es allerdings jedes Wort nur einmal ausgeben, zusammen mit einer Zahl, die angibt, wie häufig es vorkommt (ähnlich wie sort | uniq -c).

Tipp: Verwenden Sie ein Dictionary, um zu zählen, wie oft jedes Wort vorkommt. Verwenden Sie Wörter als Schlüssel und Zahlen als Werte.

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