Entschuldigen Sie diese grundlegende Frage, aber meine Suche in dieser Frage zeigt nichts anderes als das Erhalten des Schlüssels eines Wörterbuchs basierend auf seinem Wert, den ich lieber nicht verwenden würde, da ich einfach den Text / Namen des Schlüssels möchte und mir Sorgen um diese Suche mache Der Wert kann dazu führen, dass 2 oder mehr Schlüssel zurückgegeben werden, wenn das Wörterbuch viele Einträge enthält. Ich versuche Folgendes:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
Der Grund dafür ist, dass ich diese in ein Dokument drucke und dabei den Schlüsselnamen und den Wert verwenden möchte
Ich habe die folgende Methode gesehen, aber dies scheint nur den Wert des Schlüssels zurückzugeben
get(key[, default])
python
dictionary
key
Rick
quelle
quelle
current
ist der aktuelle Schlüssel, tun Sie es einfachprint current
Antworten:
Sie sollten über Schlüssel iterieren mit:
quelle
for key in mydictionary:
print (f"key: {key}, value: {mydictionary[key]}")
Wenn Sie Schlüssel und Wert drucken möchten, verwenden Sie Folgendes:
quelle
Aufgrund der obigen Anforderung würde ich Folgendes vorschlagen:
quelle
my_dict.item()
oder das Listenverständnis wie,keys = list(my_dict.keys)
aber nur für den Fall, dass jemand dies in Python 3 tun möchte: (Zeile 2)keys = sorted(my_dict.keys())
+ add () zum Drucken.Wenn das Wörterbuch ein Paar wie dieses enthält:
dann kannst du als bekommen
Gehen Sie für Python 3.5 folgendermaßen vor:
quelle
TypeError: 'dict_items' object does not support indexing
key = list(d.keys())[0]
next()
besser gemäß: stackoverflow.com/a/27638751/1488445keys=[i for i in mydictionary.keys()]
oderkeys = list(mydictionary.keys())
quelle
So einfach ist das:
Sie werden Ihr Wörterbuch ändern und sollten zuerst eine Kopie davon erstellen
quelle
Sie können einfach verwenden
*
, um die Wörterbuchschlüssel zu entpacken. Beispiel:quelle
Durch Iterieren über Wörterbuch (i) wird der Schlüssel zurückgegeben und dann (i) verwendet, um den Wert zu erhalten
quelle
Für Python 3 Wenn Sie nur die Schlüssel erhalten möchten, verwenden Sie diese. Ersetzen Sie print (Schlüssel) durch print (Werte), wenn Sie die Werte möchten.
quelle
Was ich manchmal mache, ist, dass ich ein anderes Wörterbuch erstelle, um in der Lage zu sein, auf alles zuzugreifen, was ich als Zeichenfolge benötige. Dann iteriere ich über mehrere Wörterbücher, die mit Schlüsseln übereinstimmen, um beispielsweise eine Tabelle mit der ersten Spalte als Beschreibung zu erstellen.
Sie können problemlos eine große Anzahl von Wörterbüchern verwenden, um Daten abzugleichen (ich mag die Tatsache, dass Sie mit Wörterbuch immer auf etwas verweisen können, das als Schlüsselname bekannt ist).
Ja, ich verwende Wörterbücher, um Ergebnisse von Funktionen zu speichern, sodass ich diese Funktionen nicht jedes Mal ausführen muss, wenn ich sie nur einmal aufrufe und dann jederzeit auf die Ergebnisse zugreifen kann.
BEARBEITEN: In meinem Beispiel spielt der Schlüsselname keine Rolle (ich persönlich verwende gerne dieselben Schlüsselnamen, da es einfacher ist, einen einzelnen Wert aus einem meiner übereinstimmenden Wörterbücher auszuwählen). Stellen Sie einfach sicher, dass die Anzahl der Schlüssel in jedem Wörterbuch ist das Gleiche
quelle
Sie können dies tun, indem Sie die Diktatschlüssel und -werte in die Liste umwandeln. Dies kann auch für Artikel durchgeführt werden.
Beispiel:
quelle
Ändern Sie einfach die Position Ihrer Schlüssel und Werte und verwenden Sie dann Werte, um den Schlüssel zu erhalten. Im Wörterbuch können Schlüssel denselben Wert haben, aber sie (Schlüssel) sollten unterschiedlich sein. Wenn Sie beispielsweise eine Liste haben und der erste Wert davon ein Schlüssel für Ihr Problem ist und andere Werte die Spezifikationen des ersten Werts sind:
Mit dieser Schleife können Sie die Daten einfach im Wörterbuch speichern und verwenden:
Dann können Sie die Basis des Schlüssels (Namens) auf einem beliebigen Eingabewert finden.
quelle