Inhaltsverzeichnis
Probleme, die bei der direkten Verwendung von Listen auftreten
Konvertieren Sie die Liste in ein Tupel
Grammatik
Beispiel
Ausgabe
Liste in String konvertieren
Liste in JSON konvertieren
Fazit
Heim Backend-Entwicklung Python-Tutorial Wie verwende ich eine Liste als Wörterbuchschlüssel in Python 3?

Wie verwende ich eine Liste als Wörterbuchschlüssel in Python 3?

Aug 28, 2023 pm 08:57 PM

如何在Python 3中将列表用作字典的键?

Wörterbücher sind eine der mächtigsten Datenstrukturen in der Programmiersprache Python. Dabei handelt es sich um eine Datenstruktur, die aus Schlüssel-Wert-Paaren besteht. Es hat mehrere Vorteile: Der Zugriff auf Werte hat beispielsweise eine Zeitkomplexität von O(1), es ist speichereffizient, einfach zu aktualisieren, zu löschen und zu iterieren und bietet viele integrierte Funktionen für schnelle Vorgänge.

Probleme, die bei der direkten Verwendung von Listen auftreten

Wir verfolgen dieses Thema, da Probleme auftreten, wenn wir versuchen, Listen als Schlüssel zu verwenden. Listen sind veränderbare Datentypen in Python. So können wir Werte innerhalb der Liste löschen, aktualisieren und anhängen. Wenn wir also eine Hash-Funktion aus einer Liste und Listenelementen generieren und sich die Elemente der Liste ändern, können wir die Hash-Funktion nicht mehr finden, da sich die Hash-Funktion geändert hat.

Ein weiteres potenzielles Problem besteht darin, dass verschiedene Listen möglicherweise denselben Hashwert haben. Wenn die Summe der Werte zweier Listen gleich ist, sind auch ihre Hashwerte gleich. Wenn in diesem Fall eine der Listen als Schlüssel im Wörterbuch verwendet wird und eine andere Liste mit demselben Hash durchsucht wird, liefert das Wörterbuch möglicherweise falsche Ergebnisse.

Konvertieren Sie die Liste in ein Tupel

Eine Möglichkeit, die Schlüsselliste eines Wörterbuchs in ein Tupel umzuwandeln und sie als Schlüssel zu verwenden, besteht darin, diese Indirektion zu verwenden. Beachten Sie, dass die Werte zwar gleich bleiben, der Datentyp jedoch keine Liste mehr ist

Grammatik

<variable name> = tuple(<list to convert into tuple>)
Nach dem Login kopieren

Hier benötigt das Tupel einen Parameter, nämlich den Namen der Liste.

Beispiel

Im folgenden Code haben wir zunächst ein leeres Wörterbuch mit dem Namen my_dict erstellt. Anschließend haben wir die Liste mit der Tuple-Methode in ein Tuple-Objekt konvertiert „Hallo Welt!“ als Wert.

my_dict = {}
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
my_dict[my_tuple] = "Hello, World!"
print(my_dict)
Nach dem Login kopieren

Ausgabe

{(1, 2, 3): 'Hello, World!'}
Nach dem Login kopieren

Liste in String konvertieren

Eine andere Möglichkeit besteht darin, die Liste in den Datentyp „String“ zu konvertieren. String ist ebenfalls ein unveränderlicher Datentyp; daher können wir ihn als Schlüssel eines Wörterbuchs verwenden.

Grammatik

<variable name> = ''.join(str(e) for e in <name of the list>)
Nach dem Login kopieren

Die Anweisung hier nimmt einzelne Elemente aus der Liste und fügt sie zu einem String zusammen. Die Join-Funktion verbindet Folgen von Zeichenfolgen.

Beispiel

Im folgenden Code haben wir zunächst eine Liste mit dem Namen my_list erstellt. Als nächstes haben wir die Join-Methode verwendet, die eine Zeichenfolge von Listenelementen erstellt. Da die Zeichenfolge als Wörterbuchschlüssel verwendet werden kann, haben wir diese als Schlüssel des Wörterbuchs my_list_str verwendet .

my_list = [1, 2, 3]
my_list_str = ''.join(str(e) for e in my_list)
my_dict = {my_list_str: 'value'}
print(my_dict)
print(my_dict[my_list_str])
Nach dem Login kopieren

Ausgabe

{'123': 'value'}
value
Nach dem Login kopieren

Liste in JSON konvertieren

Wir können auch das JSON-Modul und integrierte Funktionen verwenden, um die Liste zunächst mithilfe der Dumps-Methode in einen String zu konvertieren und diesen später als Schlüssel des Wörterbuchs zu verwenden.

Grammatik

<name of variable< = json.dumps(<name of list<)
Nach dem Login kopieren

Hier ist die dumps-Methode der JSON-Bibliothek, die Python-Objekte in JSON-formatierte Zeichenfolgen serialisiert. Die dumps-Methode akzeptiert den Namen der Zeichenfolge als Parameter

Beispiel

Im folgenden Code importieren wir zunächst die JSON-Bibliothek. Als nächstes erstellen wir eine Liste namens my_list. Wir haben mithilfe der Dumps-Methode ein serialisiertes Objekt aus der Liste erstellt. Jetzt haben wir das serialisierte Objekt als Wörterbuchschlüssel my_dict.

import json
my_list = [1, 2, 3]
my_key = json.dumps(my_list)
my_dict = {my_key: 'value'}
print(my_dict)
Nach dem Login kopieren

Ausgabe

{'[1, 2, 3]': 'value'}
Nach dem Login kopieren

Fazit

In diesem Artikel haben wir gelernt, wie man Listen als Schlüssel eines Wörterbuchs in Python 3 verwendet. Wir haben die Schwierigkeiten verstanden, mit denen wir konfrontiert waren, wenn wir direkt versuchten, die Listen als Schlüssel im Python-Wörterbuch zu erstellen Wir haben auch gelernt, wie man mit dem JSON-Modul Listen als Wörterbuchschlüssel verwendet

Das obige ist der detaillierte Inhalt vonWie verwende ich eine Liste als Wörterbuchschlüssel in Python 3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Was sind reguläre Ausdrücke? Was sind reguläre Ausdrücke? Mar 20, 2025 pm 06:25 PM

Regelmäßige Ausdrücke sind leistungsstarke Tools für Musteranpassung und Textmanipulation in der Programmierung, wodurch die Effizienz bei der Textverarbeitung in verschiedenen Anwendungen verbessert wird.

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Mar 21, 2025 pm 06:46 PM

In dem Artikel werden beliebte Python-Bibliotheken wie Numpy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, Django, Flask und Anfragen erörtert, die ihre Verwendung in wissenschaftlichen Computing, Datenanalyse, Visualisierung, maschinellem Lernen, Webentwicklung und h beschreiben

Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Apr 01, 2025 pm 11:18 PM

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

See all articles