Weitere Python–Container: Sets und Dictionaries

Neben list und tuple gibt es noch zwei weitere built-in Container, set und dict.

Ein set ist eine ungeordnete Liste von Objekten, die jeweils nur einmal vorkommen (= unique elements).


# example for set
a=[1,2,4,3,2,4,5,3,2]
b=set(a)
print(a,b)
# [1, 2, 4, 3, 2, 4, 5, 3, 2] {1, 2, 3, 4, 5}

Sehr nützlich um schnell herauszufinden wieviele verschiedenartige Werte in Liste vorkommen.

Ein dict ist eine Art erweiterte Liste, bei der der Zugriff über key-Objekt erfolgt ( Heisst in C++/JAVA map, in Perl associative array).

Bei list, tuple sind die einzelnen Elemente in einer festen Reihenfolge geordnet, der Zugriff läuft meist über eine Index-Nummer, d.h. die numerische Position ist mit dem Objekt assoziert.

Bei dict dagegen werden Paare von Werten gespeichert, key und value.

Zugriff auf die Elemente erfolgt über den key, ähnlich wie mit dem numerischen Index bei array, list, tuple, deshalb auch die Bezeichnung assoziativer Array.

Beispiel Wörterbuch:


#
engdeut={} # create empty dict
engdeut["hello"]     = "Hallo"
engdeut["world"]     = "Welt"
engdeut["computer"]  = "Rechner"
engdeut["physics"]   = "Physik"
engdeut["physicist"] = "Physiker"
engdeut["physician"] = "Arzt"


Verwendung:


Ein dict ist eine Art Liste von Paaren. Diese Liste ist sortiert nach dem key. Deshalb:


Test ob dict Element existiert

Lese–Zugriff auf dict Element ( dwort = engdeut["music"]) geht nur, wenn Element schon angelegt ist, andernfalls wird Exception ausgelöst.

Zwei Möglichkeiten damit umzugehen: