Kapitel 8
Dictionaries
244
Ansonsten gilt die Vokabel als gelernt. Der Benutzer erhält eine positive Rückmeldung und
der betreffende Eintrag wird aus dem Dictionary entfernt (#5).
#6: Es werden so lange Aufgaben gestellt, bis das Dictionary leer ist. Dann sind alle Vokabeln
gelernt.
Ein Programmlauf könnte so beginnen:
8.5 Typische Fehler
Bei der Programmierung mit Dictionaries treten erfahrungsgemäß gelegentlich folgende
Fehler auf:
Runde und geschweifte Klammern sind in der Bildschirmdarstellung von IDLE kaum zu
unterscheiden. Achten Sie darauf, dass ein Dictionary-Display wirklich von geschweiften
Klammern umgeben ist. Beispiel:
Zugriffsversuche mit nicht vorhandenen Schlüsseln führen zu Laufzeitfehlern. Man ver-
meidet sie durch Verwendung der Methode
get() oder bedingte Anweisungen (if), in
denen die Existenz des Schlüssels mit dem
in-Operator geprüft wird.
Mehrfachverwendung eines Schlüssels führt dazu, dass ein alter Eintrag überschrieben wird.
8.6 Aufgaben
Aufgabe 1
Durch die folgende Anweisung wird ein Dictionary mit den E-Nummern von Konservie-
rungsstoffen in Lebensmitteln erzeugt:
Vokabeltrainer
Wie lautet das deutsche Wort für error?
Fehler
Richtig!
Wie lautet das deutsche Wort für key?
Knie
Leider falsch.
key bedeutet: Schlüssel Taste
Wie lautet das deutsche Wort für slice?
Stück
Richtig!
...
>>> d={'F':'Fluor', 'Cl':'Chlor')
SyntaxError: invalid syntax
245
8.6
Aufgaben
Was geben die folgenden Anweisungen auf dem Bildschirm aus?
Aufgabe 2
Tragen Sie in die Tabelle passende Python-Anweisungen ein.
>>> d = {'E260':'Essigsäure',
'E200':'Sorbinsäure',
'E210':'Benzoesäure'}
a) >>> d['E210']
b) >>> print(list(d.keys()))
c) >>> del d['E210']
>>> print(list(d.values()))
d) >>> for k in d.keys():
print(k+': '+d[k])
e) >>> d['E239'] = 'Kaliumnitrit'
>>> for k in d.keys(): print(k)
Verbale Beschreibung Python-Anweisung
Erstellen Sie ein leeres Dictionary mit dem Namen
d.
Das Dictionary soll zu einzelnen Buchstaben den
Buchstabier-Code im Nato-Alphabet liefern. Fügen
Sie drei entsprechende Schlüssel-Wert-Paare in
d ein
(siehe unten stehende Tabelle).
Der Nato-Code des Buchstabens a wird auf dem Bild-
schirm ausgegeben.
Sämtliche Werte (Buchstabier-Codes) des Dictionarys
werden ausgegeben.
Fall h als Schlüssel im Dictionary enthalten ist, wird
der zu h gehörende Wert ausgegeben.
Buchstabe Code Buchstabe Code
aalfaeecho
b bravo f foxtrott
ccharlieggolf
d delta h hotel
Tabelle 8.2: Das Nato-Alphabet (Auszug)
Kapitel 8
Dictionaries
246
Aufgabe 3
Im Dictionary vokabeln sind zu englischen Wörtern Listen mit deutschen Übersetzungen
angegeben.
Welche Ausgabe liefern die folgenden Anweisungen:
Aufgabe 4
Was leisten die folgenden Python-Skripte? Welche Ausgabe liefern sie?
a)
b)
>>> vokabeln = {'hat':['Hut'],
'shirt':['Hemd', 'Bluse'],
'sock':['Socke', 'Strumpf']}
a) >>> print(vokabeln['shirt'])
b) >>> print(vokabeln['shirt'][0])
c) >>> for key in vokabeln.keys():
print(vokabeln[key])
d) >>> print(list(vokabeln.values()))
e) >>> for key in vokabeln.keys():
print(key + ': ', end=' ')
for w in vokabeln[key]:
p rin t ( w, e n d =' ' )
p r int( )
f) >>> vokabeln['cap'] = ['Mütze']
>>> print(vokabeln['cap'])
g) >>> vokabeln['cap'] = vokabeln['cap']+['Kappe']
>>> print(vokabeln['cap'])
liste = ['Auto', 'Apfel', 'Cello', 'Banane', 'Berg']
d = {}
for key in 'ABC':
d[key] = [w for w in liste if w[0] == key]
print(d)
def menge(s):
d = {}
for i in s:
d [ i] = N o ne

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.