Dieses Kapitel zeigt Ihnen die Verarbeitungen (Lesen, Schreiben, Löschen) von Dictionaries
Nachdem der Dictionary erstellt ist, können wir Elemente einfügen bzw. ändern.
Dazu geben wir den Schlüssel in eckigen Klammern [
]
an.
colors = {'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'} colors['indigo'] = '#4B0082' # adds a new key/value colors['blue'] = '#000080' # replaces the value for 'blue' print(colors)
{'red': '#ff0000', 'green': '#00ff00', 'blue': '#000080', 'indigo': '#4B0082'}
Der Befehl del
löscht ein Element aus dem Dictionary.
colors = {'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'} del colors['green'] # Removes the element with the key 'green' print(colors)
{'red': '#ff0000', 'blue': '#0000ff'}
Wir können die Element über ihren Schlüssel in den eckigen Klammern lesen.
Wollen wir wissen, ob ein bestimmter Schlüssel exisitert, so verwenden wir key
in
dictionary
.
colors = {'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'} print(colors['green']) # prints the value #00ff00 if 'pink' in colors: print ('Pink!!') else: print ('No pink found')
#00ff00 No pink found
Es existiert keine Funktion um ein Element anhand seines Werts zu lesen. Wir können uns behelfen, indem wir die Schlüssel und Werte in separate Listen umwandeln.
Die Funktion values()
liest alle Werte eines Dictionaries und erzeugt ein View-Objekt als Returnwert.
In Kombination mit list(…)
können wir dieses View-Objekt in eine Liste umwandeln.
Die Funktion keys()
funktioniert ähnlich und liefert eine View-Objekt aller Schlüssel.
colors = {'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'} hex_values = list(colors.values()) # make a list of all values color_names = list(colors.keys()) # make a list of all keys index = hex_values.index('#00ff00') # search the index of the value print(color_names[index]) # print the key by using the index
green
Mit einem for-Loop können wir alle Elemente eines Dictionarys verarbeiten.
colors = {'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'} for color_name in colors: # loops through the keys print(color_name) for key, value in colors.items(): # loops through the keys and values print(f'The hexcode for {key} is {value}') print(colors)
red green blue The hexcode for red is #ff0000 The hexcode for green is #00ff00 The hexcode for blue is #0000ff
Mit dem sorted-Befehl können wir die Elemente nach ihrem Schlüssel sortieren.
colors = {'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'} for name in sorted(colors.items()): print(f'The hexcode for {name} is {colors[name]}')