Python-Wörterbuch Werte ersetzen
Ich habe ein Wörterbuch mit mehr als 20 000 Einträgen, in dem im Moment nur das einzelne Wort und die Anzahl der Verwendungen des Wortes im Ausgangstext (Dante's Göttliche Komödie auf Italienisch) stehen.
Ich möchte durch alle Einträge arbeiten und den Wert durch eine aktuelle Definition ersetzen, sobald ich sie finde. Gibt es eine einfache Möglichkeit, die Schlüsselwörter zu durchlaufen, die als Wert eine Zahl haben, um sie zu ersetzen (während ich die Bedeutung recherchiere)?
Das Wörterbuch beginnt:
{'corse': 378, 'cielo,': 209, 'mute;': 16, 'torre,': 11, 'corsa': 53, 'assessin': 21, 'corso': 417, 'Tolomea': 21} # etc.
Eine Art Anwendung, die ein Stichwort zur Recherche und Definition vorschlägt.
40
3
Sie können nicht nach bestimmten Werten (oder Wertetypen) selektieren. Sie müssen entweder einen umgekehrten Index erstellen (Zahlen auf (Listen von) Schlüsseln zurückführen) oder jedes Mal eine Schleife durch alle Werte ziehen.
Wenn Sie ohnehin Zahlen in beliebiger Reihenfolge verarbeiten, können Sie auch alle Elemente in einer Schleife durchlaufen:
Ansonsten würde ich den umgekehrten Index verwenden:
Jetzt können Sie die Schlüssel nach Wert suchen:
Wenn Sie über ein Wörterbuch iterieren, erhalten Sie die Schlüssel. Angenommen, Ihr Wörterbuch befindet sich in einer Variablen namens
data
und Sie haben eine Funktionfind_definition()
, die die Definition abruft, können Sie etwas wie das Folgende tun:Hier ist eine Funktion, die Ihren Schlüssel findet und Ihren Wert ersetzt.
Die Ausgabe ist:
Wenn Sie feststellen, dass es zu lange dauert, Ihr Wörterbuch in einer Schleife zu durchlaufen, versuchen Sie es mit einer Generatorfunktion:
Ausgabe: