Umkehren eines Wörterbuchs mit Listenwerten
Beim Umkehren eines Wörterbuchs wird ein neues Wörterbuch erstellt, in dem die Schlüssel und Werte des ursprünglichen Wörterbuchs ausgetauscht werden. Wenn das Originalwörterbuch Listenwerte enthält, stellt es eine Herausforderung dar, da Python keine Hash-Listen erstellen kann.
Verwendung von Tupeln für Tupelschlüssel
Ein Ansatz zur Behebung dieses Problems ist: Konvertieren Sie die Listenwerte in Tupel. Tupel sind unveränderlich und können gehasht werden, sodass sie als Schlüssel in einem Wörterbuch dienen können.
Beachten Sie den folgenden Code:
<code class="python">inverted_index = {} for key, values in index.items(): for value in values: tuple_key = (key, value) inverted_index.setdefault(tuple_key, []).append(key)</code>
Dieser Code erstellt einen neuen Schlüssel für jede eindeutige Kombination der Originalschlüssel und -wert. Das inverted_index-Wörterbuch wird dann mit den umgekehrten Schlüssel-Wert-Paaren gefüllt.
Verwenden von Sets für eindeutige Werte
Alternativ können Sie Sets verwenden, um doppelte Werte im invertierten Index zu verarbeiten Wörterbuch. Sets sind ungeordnete Sammlungen eindeutiger Elemente.
<code class="python">inverted_index = {} for key, values in index.items(): unique_values = set(values) for value in unique_values: inverted_index.setdefault(value, set()).add(key)</code>
Dieser Code erstellt einen Satz eindeutiger Werte für jeden Originalschlüssel. Das inverted_index-Wörterbuch wird dann mit den umgekehrten Schlüssel-Wert-Paaren gefüllt, wobei die Werte Sätze eindeutiger Originalschlüssel sind.
Das obige ist der detaillierte Inhalt vonWie kann man ein Wörterbuch mit Listenwerten umkehren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!