Python Dictionary Anfängerhandbuch

Wie benutzt man dikt

Python-Wörterbücher übergeben Schlüssel und rufen Werte ab. Es ist jedoch zu beachten, dass ein Fehler auftritt, wenn sich der dem angegebenen Schlüssel entsprechende Eintrag nicht im Wörterbuch befindet.

keyerror.py


# -*- coding:utf-8 -*-
import traceback
dct = {"ham": 100, "jam": 300}  #Es gibt kein Ei.

try:
    #Da es kein Ei gibt, bekomme ich einen KeyError.
    egg = dct["egg"]
except KeyError:
    traceback.print_exc()

Wenn Sie nicht garantiert sind, dass der von Ihnen angegebene Schlüssel im Wörterbuch vorhanden ist, können Sie mit dict.get danach suchen, und es wird keine Fehlermeldung angezeigt. Sie können auch einen alternativen Wert angeben.

dictget.py


# -*- coding:utf-8 -*-
dct = {"ham": 100, "jam": 300}
print("dict.get => %s" % dct.get("egg", "orz"))

Wenn es sich im Wörterbuch befindet, wird der enthaltene Wert abgerufen. Wenn dies nicht der Fall ist, verwenden Sie dict.setdefault, wenn Sie einen beliebigen Wert in das Wörterbuch einfügen möchten.

dictsetdefault.py


# -*- coding:utf-8 -*-
dct = {"ham": 100, "jam": 300}

#Wenn Sie zuweisen möchten, wenn dem Schlüssel kein Eintrag entspricht, setzen Sie den Standardwert
egg = dct.setdefault("egg", "knuckle")
print("dict.get => %s, egg=%s" % (dct["egg"], egg))

#Da das Ei bereits vorhanden ist, wird es nicht überschrieben.
egg = dct.setdefault("egg", "mens")
print("dict.get => %s, egg=%s" % (dct["egg"], egg))

Standardmäßig beim Erstellen eines etwas ausgefeilten Wörterbuchs

Das Standard-Diktat ist nützlich, wenn Sie ein Wörterbuch mit einer komplizierten Struktur erstellen. Übergeben Sie im Konstruktor eine Factory, die einen alternativen Wert erstellt, wenn dem Schlüssel kein Eintrag entspricht. Im folgenden Beispiel wird für jeden Schlüssel ein Wörterbuch erstellt, das Werte in der Liste enthält.

defaultdictusage.py


# -*- coding:utf-8 -*-
from collections import defaultdict

alt = defaultdict(list)
keys = tuple("imagawa")
values = (1, 1, 2, 2, 3, 4, 5)

for k, v in zip(keys, values):
    alt[k].append(v)
print(alt)

Einführung des benannten Tupels zusätzlich zu den Sammlungen

Das Standarddiktat befindet sich im Sammlungsmodul, aber es gibt ein anderes benanntes Tupel im Sammlungsmodul. Sie können dies verwenden, um ein Objekt zu definieren, das Tupel ist, aber auch Attributzugriff hat.

namedtupleusage.py


# -*- coding:utf-8 -*-
from collections import namedtuple

Role = namedtuple("Role", "user course")
roles = [Role(x, y) for x, y in ((45, 6), (52, 3))]

for role in roles:
    print("user=%s, course=%s" % (role.user, role.course))
    #Natürlich ist auch ein Indexzugriff möglich.
    assert role[0] is role.user and role[1] is role.course

Beispielcode

samplecode.py


# -*- coding:utf-8 -*-
import traceback


dct = {"ham": 100, "jam": 300}  #Es gibt kein Ei.

try:
    #Da es kein Ei gibt, bekomme ich einen KeyError.
    egg = dct["egg"]
except KeyError:
    traceback.print_exc()


# dict.Wenn Sie mit get suchen, tritt kein Fehler auf. Sie können auch einen alternativen Wert angeben.
print("dict.get => %s" % dct.get("egg", "orz"))

#Wenn Sie zuweisen möchten, wenn dem Schlüssel kein Eintrag entspricht, setzen Sie den Standardwert
egg = dct.setdefault("egg", "knuckle")
print("dict.get => %s, egg=%s" % (dct["egg"], egg))

#Da das Ei bereits vorhanden ist, wird es nicht überschrieben.
egg = dct.setdefault("egg", "mens")
print("dict.get => %s, egg=%s" % (dct["egg"], egg))


#Das Standard-Diktat ist nützlich, wenn Sie ein Wörterbuch mit einer komplizierten Struktur erstellen.
from collections import defaultdict
alt = defaultdict(list)
keys = tuple("imagawa")
values = (1, 1, 2, 2, 3, 4, 5)
for k, v in zip(keys, values):
    alt[k].append(v)
print(alt)


#Benanntes Tupel benanntes Tupel.
from collections import namedtuple
Role = namedtuple("Role", "user course")
roles = [Role(x, y) for x, y in ((45, 6), (52, 3))]
for role in roles:
    print("user=%s, course=%s" % (role.user, role.course))
    #Natürlich ist auch ein Indexzugriff möglich.
    assert role[0] is role.user and role[1] is role.course

Ausführungsergebnis

result.txt


Traceback (most recent call last):
  File "samplecode.py", line 9, in <module>
    egg = dct["egg"]
KeyError: 'egg'
dict.get => orz
dict.get => knuckle, egg=knuckle
dict.get => knuckle, egg=knuckle
defaultdict(<type 'list'>, {'i': [1], 'a': [2, 3, 5], 'm': [1], 'w': [4], 'g': [2]})
user=45, course=6
user=52, course=3

Recommended Posts

Python Dictionary Anfängerhandbuch
Python-Anfängerhandbuch (Funktionen)
Python-Anfängerhandbuch (Einführung)
Python-Anfängerhandbuch (Variationen / Arrays)
Python-Wörterbuch
[Python] Wörterbuch
Python-Wörterbuch
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
Anaconda: Anfängerleitfaden
[Python] Wörterbuch (Hash)
Anfänger üben Python
Python-Anfängernotiz
Python-Grundkurs (7 Wörterbuch)
Python-Anfänger organisieren Heap-Sortierungen
Python-Anfänger organisieren schnelle Sortierungen
Python-Anfänger berührt Pytorch (3)
Python Lehrbuch für Anfänger
Python3-Memo vom Typ Liste / Wörterbuch
Python-Anfänger berührt Pytorch (1)
Python-Anfänger berührt Pytorch (2)
OpenCV für Python-Anfänger
Python-Liste, für Anweisung, Wörterbuch
Erstellen Sie ein Wörterbuch in Python
Python-Anfänger-Memorandum-Funktion
Python3-Umgebungskonstruktion (für Anfänger)
3 Gründe für die Programmierung Anfänger sollten mit Python beginnen
Python> Wörterbuch / Sammlungen> defaultdict () / Counter ()
Python #Funktion 2 für Super-Anfänger
Python-Anfänger organisieren Blasensorten
Ruby, Installationshandbuch für Python-Module
Grundlegende Python-Grammatik für Anfänger
Vermeiden Sie KeyError im Python-Wörterbuch
100 Pandas klopfen für Python-Anfänger
Python #Funktion 1 für Super-Anfänger
Python #Liste für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Python> Wörterbuch> get ()> optionaler Wert
Hinweise zu Python- und Wörterbuchtypen
Python
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Erweiterung des Python-Wörterbuchs um Argumente
Ersetzen Sie den Wörterbuchwert durch Python> update ()
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Python #index für Super-Anfänger, Slices
Typisierungsautomatisierungsnotiz von Python-Anfängern
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Python #len Funktion für Super-Anfänger
Grundlegende Grammatik des Python3-Systems (Wörterbuch)
Web Scraping für Anfänger in Python (1)
# 2 Python-Anfänger fordern AtCoder heraus! ABC085C --Otoshidama
Führen Sie unittest in Python aus (für Anfänger)
Anfänger Memorandum Python "isdigit" Bewegung
Web Scraping für Anfänger in Python (4) -1
Python #Hello World für Super-Anfänger
Python-Anfänger versuchten es herauszufinden
Lernen Sie die Grundlagen von Python ① Grundlegende Anfänger
Python> Wörterbuch> Werte ()> Alle Werte mithilfe von Werten abrufen ()
INSERT in MySQL mit Python [Für Anfänger]
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Konvertieren Sie Python> Zwei-Wert-Sequenz in Wörterbuch