Dieses Mal zeige ich Ihnen, wie Sie die Python-Wörterbuchliste verwenden und welche Vorsichtsmaßnahmen für die Verwendung der Python-Wörterbuchliste gelten. Hier ist ein praktischer Fall, nehmen wir einen sehen.
1. Verwenden Sie das Schlüsselwort in, um zu überprüfen, ob der Schlüssel existiert
Es gibt eine Entwicklungsphilosophie im Zen von Python:
Es sollte eine geben einen – und vorzugsweise nur einen – offensichtlichen Weg, es zu tun.
Versuchen Sie, einen, vorzugsweise nur einen – offensichtlichen Weg zu finden, es zu tun. In Python2 können Sie die Methode has_key verwenden, um festzustellen, ob ein Schlüssel im Wörterbuch vorhanden ist. Eine andere Möglichkeit besteht darin, das Schlüsselwort in zu verwenden. Es wird jedoch dringend empfohlen, Letzteres zu verwenden, da die Methode in Python3 schneller verarbeitet wird. Wenn Sie mit den Versionen py2 und py3 kompatibel sein möchten, ist die Verwendung von in die beste Lösung Auswahl.
bad d = {'name': 'python'} if d.has_key('name'): pass good if 'name' in d: pass
2. Verwenden Sie get, um den Wert im Wörterbuch abzurufen
Um den Wert im Wörterbuch abzurufen, ist die Verwendung von d[x] eine einfache Möglichkeit. Um auf das Wertelement zuzugreifen, wird in diesem Fall jedoch ein KeyError-Fehler gemeldet, wenn der Schlüssel nicht vorhanden ist. Natürlich können Sie zuerst mit der Operation in überprüfen, ob sich der Schlüssel im Wörterbuch befindet, und ihn dann abrufen, aber diese Methode entspricht nicht dem, was im Zen von Python gesagt wird:
Einfach ist besser als komplex.
Flach ist besser als verschachtelt.
Guter Code sollte sein einfach und leicht verständlich, und eine flache Codestruktur ist besser lesbar. Wir können die get-Methode anstelle von if... else
bad d = {'name': 'python'} if 'name' in d: print(d['hello']) else: print('default') good print(d.get("name", "default"))
3 verwenden. Verwenden Sie setdefault, um den Standardwert für den Schlüssel festzulegen, der nicht im Wörterbuch vorhanden ist
data = [ ("animal", "bear"), ("animal", "duck"), ("plant", "cactus"), ("vehicle", "speed boat"), ("vehicle", "school bus") ]
Wenn Sie Klassifizierungsstatistiken erstellen, hoffen Sie, denselben Datentyp einem bestimmten Typ im Wörterbuch zuzuordnen. Der obige Code fügt beispielsweise denselben Datentyp in Form einer Liste wieder zusammen, um einen neuen zu erhalten Wörterbuch
groups = {} >>> {'plant': ['cactus'], 'animal': ['bear', 'duck'], 'vehicle': ['speed boat', 'school bus']}
Die übliche Methode besteht darin, zunächst festzustellen, ob der Schlüssel bereits vorhanden ist. Wenn er nicht vorhanden ist, initialisieren Sie ihn zunächst mit dem Listenobjekt und führen Sie dann nachfolgende Vorgänge aus. Eine bessere Möglichkeit besteht darin, die setdefault-Methode im Wörterbuch zu verwenden.
bad for (key, value) in data: if key in groups: groups[key].append(value) else: groups[key] = [value] good groups = {} for (key, value) in data: groups.setdefault(key, []).append(value)
4. Initialisieren Sie das Wörterbuchobjekt mit defaultdict
Wenn Sie nicht möchten, dass d[x] einen Fehler meldet, wenn x nicht vorhanden ist, zusätzlich zur Verwendung von get-Methode beim Abrufen von Elementen. Eine andere Möglichkeit besteht darin, defaultdict im Sammlungsmodul zu verwenden und beim Initialisieren des Wörterbuchs eine Funktion anzugeben. Tatsächlich ist defaultdict eine Unterklasse von dict.from collections import defaultdict groups = defaultdict(list) for (key, value) in data: groups[key].append(value)
5. Verwenden Sie fromkeys, um die Liste in ein Wörterbuch umzuwandeln
keys = {'a', 'e', 'i', 'o', 'u' } value = [] d = dict.fromkeys(keys, value) print(d) >>> {'i': [], 'u': [], 'e': [], 'a': [], 'o': []}
6. Verwenden Sie ein Wörterbuch, um switch zu implementieren. .. case-Anweisung
Es gibt keinen Schalter... case-Anweisung in Python Onkel Turtle, der Vater von Python, sagte, dass diese Syntax in der Vergangenheit nicht existierte, jetzt nicht existiert und wird es in Zukunft nicht mehr geben. Weil die prägnante Syntax von Python mit if ... elif implementiert werden kann. Wenn es zu viele Zweigurteile gibt, können Sie stattdessen auch ein Wörterbuch verwenden.if arg == 0: return 'zero' elif arg == 1: return 'one' elif arg == 2: return "two" else: return "nothing" good data = { 0: "zero", 1: "one", 2: "two", } data.get(arg, "nothing")
7. Verwenden Sie iteritems, um die Elemente im Wörterbuch zu iterieren.
Python bietet mehrere Möglichkeiten, die Elemente im Wörterbuch zu iterieren items-Methode:d = { 0: "zero", 1: "one", 2: "two", } for k, v in d.items(): print(k, v)
for k, v in d.iteritems(): print(k, v)
8. Verwenden Sie die Wörterbuchableitung
推导式是个绝妙的东西,列表推导式一出,map、filter等函数黯然失色,自 Python2.7以后的版本,此特性扩展到了字典和集合身上,构建字典对象无需调用 dict 方法。
bad numbers = [1,2,3] d = dict([(number,number*2) for number in numbers]) good numbers = [1, 2, 3] d = {number: number * 2 for number in numbers}
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Listen mit Python-Wörterbüchern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!