In Python sind Listen und Wörterbücher eine der am häufigsten verwendeten Methoden zur Datenerfassung und -verarbeitung. Es gibt viele Operationen im Zusammenhang mit Listen und Wörterbüchern, die häufig verwendet werden, um Daten in der gewünschten Form abzurufen. Manchmal müssen wir möglicherweise auch zwei verschiedene Listen komprimieren und die komprimierte Liste in Wörterbuchform erhalten.
In diesem Artikel besprechen wir den Komprimierungsvorgang zweier Listen ungleicher Länge und geben das Ergebnis als Wörterbuch aus. Dieser Artikel hilft den Lesern, den Komprimierungsvorgang einer Liste zu verstehen und daraus ein Wörterbuch zu erstellen.
Lassen Sie uns also mit der Diskussion darüber beginnen, was es bedeutet, zwei ungleiche Listen zu komprimieren.
In Python ist die Komprimierung einer der häufigsten Vorgänge beim Sammeln und Verarbeiten von Daten und umfasst das Hinzufügen von zwei Listen in Form von Schlüssel-Wert-Paaren. Einfach ausgedrückt handelt es sich um eine Operation, bei der die Werte oder Elemente in einer Liste so geordnet oder dargestellt werden, dass sie im Ausgabeergebnis wie Schlüssel-Wert-Paare aussehen.
Dieser Vorgang ist einer der häufigsten, da wir manchmal eine Liste oder ein Wörterbuch benötigen, das eine Kombination aus zwei verschiedenen Listen ist. Wir können zwei Listen unterschiedlicher Größe oder Länge haben, diese dann zusammenführen und in Wörterbuchform ausgeben, um die Daten einfacher und effizienter zu verarbeiten.
Es gibt viele Möglichkeiten, den gleichen Effekt zu erzielen. Lassen Sie uns einige dieser Methoden besprechen.
Wir können die itertools-Bibliothek verwenden und den Zyklus importieren, um die beiden Listen zu komprimieren und das Wörterbuch als Ausgabe zu erhalten
# Itertools + Cycle Method # Import the cycle from itertools from itertools import cycle # define two lists list1 = ['a', 'b', 'c', 'd', 'e'] list2 = [1, 2, 3, 4] # zip the lists and pass them into the dictionary form res = dict(zip(list1, cycle(list2))) # print the final results print("Final Output Dictionary : ", str(res))
Wie wir im obigen Code sehen können, haben wir zunächst den Zyklus von itertools importiert und zwei Listen unterschiedlicher Größe definiert.
Verwenden Sie dann die Schleifenfunktion in itertools, um die beiden Listen mit ungleicher Länge zu komprimieren und stellen Sie die Ausgabe dann als Wörterbuch dar.
Die Ausgabe des folgenden Codes lautet:
Final Output Dictionary: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 1}
Ähnlich wie Schleifen in Itertools können wir Deques in Sammlungen verwenden. Durch den Import von deque können wir die beiden Listen komprimieren und ein Wörterbuch erhalten.
# using deque for zipping lists from collections import deque # define two list that are to be zipped ini_lis1 = ['a', 'b', 'c', 'd', 'e'] ini_lis2 = deque([1, 2, 3, 4]) # zip teh lists using deque result = {} for letter in ini_lis1: number = ini_lis2.popleft() result[letter] = number ini_lis2.append(number) # print the final results print("Output Dict : ", str(result))
Wie wir im obigen Code sehen können, werden nach dem Import von Deque aus Sammlungen zwei Listen unterschiedlicher Größe definiert.
Verwenden Sie dann die for-Schleife und die Append-Funktion, um die beiden Listen zu komprimieren. Das Endergebnis wird in Form eines Wörterbuchs ausgedruckt.
Die Ausgabe dieses Codes ist:
Output Dict : {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 1}
Die Standardklasse kann auch verwendet werden, um zwei Listen unterschiedlicher Größe zu komprimieren und als Ausgabe ein Wörterbuch bereitzustellen.
# using default class method # import default dict from collections from collections import defaultdict # define two lists ini_lis1 = ['a', 'b', 'c', 'd', 'e'] ini_lis2 = [1, 2, 3, 4] # use default dict result = defaultdict(int) # add values to the keys respectively for i in range(len(ini_lis1)): result[ini_lis1[i]] += ini_lis2[i % len(ini_lis2)] # print the final results print("Output Dict: ", str(dict(result)))
Wie wir im obigen Code sehen können, werden zwei Listen definiert, nachdem die Standardklasse importiert und eine for-Schleife verwendet wurde, um die Werte zu den entsprechenden Schlüsseln hinzuzufügen.
Bitte beachten Sie, dass ein Standardwert zurückgegeben wird, wenn der Schlüssel nicht in den Daten vorhanden ist. Hier verwenden wir den Standardwert 0.
Die Ausgabe des folgenden Codes lautet:
Output Dict: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 1}
Dies ist die einfachste Möglichkeit, zwei verschiedene Listen zu komprimieren und als Wörterbuch auszugeben.
# using zip + dict method # define two lists that are to be zipped ini_lis1 = ['a', 'b', 'c', 'd', 'e'] ini_lis2 = [1, 2, 3, 4] # use zip() result = dict(zip(ini_lis1, ini_lis2 * ((len(ini_lis1) + len(ini_lis2) - 1) // len(ini_lis2)))) # print the final results print("Output Dict: ", str(result))
Im obigen Code definieren wir zunächst zwei verschiedene Listen und übergeben dann beim Definieren des Ergebnisses die Syntax oder den Code an dict(), das die Ausgabe im Wörterbuchdatenformat zurückgibt. Dabei werden zwei Listen mithilfe des Schlüsselworts zip komprimiert, das die Werte zweier verschiedener Listen aneinanderhängt.
Die Ausgabe des folgenden Codes lautet:
Output Dict: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 1}
Bei dieser Methode verwenden wir die Itertools-Bibliothek und verwenden Enumerate beim Komprimieren zweier Listen.
# using itertools + enumerate # Import itertools from itertools import cycle # define two lists ini_lis1 = ['a', 'b', 'c', 'd', 'e'] ini_lis2 = [1, 2, 3, 4] # zip the two lists using for loop and enumerate result = {v: ini_lis2[i % len(ini_lis2)] for i, v in enumerate(ini_lis1)} # print the final results print("Output Dict : ", str(result))
Wie wir im obigen Code sehen können, importieren wir zunächst den Zyklus aus itertools und definieren dann zwei Listen unterschiedlicher Größe. Anschließend addieren (komprimieren) wir mit einer for-Schleife und einer Aufzählungsfunktion die Werte oder Elemente zweier verschiedener Listen und stellen die Werte dann in Form eines Wörterbuchs dar.
Die Ausgabe des folgenden Codes lautet:
Output Dict : {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 1}
In diesem Artikel diskutieren wir die Verwendung von sechs verschiedenen Methoden zum Komprimieren von zwei Listen unterschiedlicher Größe in Python und stellen Codebeispiele und Anweisungen bereit. Dieser Artikel hilft den Lesern, bei Bedarf ähnliche Vorgänge durchzuführen.
Das obige ist der detaillierte Inhalt vonKomprimieren von zwei Listen ungleicher Länge in einem Python-Wörterbuch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!