Heim  >  Artikel  >  Backend-Entwicklung  >  Komprimieren Sie Listen unterschiedlicher Größe in Python

Komprimieren Sie Listen unterschiedlicher Größe in Python

王林
王林nach vorne
2023-09-04 21:25:051186Durchsuche

Komprimieren Sie Listen unterschiedlicher Größe in Python

Einführung

In Python sind Listen eine der am häufigsten verwendeten Methoden zum Speichern von numerischen Werten oder Zeichenfolgenwerten. Sie sind veränderbar und werden durch die Verwendung von eckigen Klammern [] definiert. Listen dieses Typs können verschiedene Elemente enthalten, die unterschiedliche Datentypen haben können. Manchmal müssen wir möglicherweise verschiedene Listen in Python für Datenvorverarbeitungszwecke komprimieren.

In diesem Artikel besprechen wir Komprimierungsvorgänge für Listen und wie man Listen unterschiedlicher Größe in Python mit verschiedenen Methoden und Techniken komprimiert. Dieser Artikel hilft Ihnen, den Komprimierungsvorgang einer Liste zu verstehen und ihn bei Bedarf durchzuführen.

Jetzt beginnen wir mit der Diskussion von Listen und ihren Komprimierungsvorgängen.

Listenkomprimierung

Wie wir alle wissen, sind Listen eine gängige Methode zum Speichern von Elementen, die numerische Werte oder Zeichenfolgenwerte enthalten können. Dabei handelt es sich um veränderliche Typen, die typischerweise bei der Arbeit mit Datensätzen in Python verwendet werden.

Der Komprimierungsvorgang von Listen bedeutet, dass wir tatsächlich zwei verschiedene Listen komprimieren, oder einfacher gesagt, wir koppeln die Werte zweier verschiedener Listen.

Um die Idee dahinter zu verdeutlichen, nehmen wir ein Beispiel. Nehmen wir an, wir haben zwei Listen:

L1 = [1,2,3]

L2 = [‚eins‘, ‚zwei‘, ‚drei‘]

Wie wir oben sehen können, haben wir zwei verschiedene Listen und sobald wir eine Komprimierungsoperation an ihnen durchführen, wird die Ausgabe sein:

Zipped_List = [(1, ‚eins‘), (2, ‚zwei‘), (3, ‚drei‘)]

Lassen Sie uns nun die Anwendungsfälle komprimierter Listen in Python besprechen.

Anwendung zum Komprimieren von Listen

Das Komprimieren zweier unterschiedlicher Listen gleicher oder unterschiedlicher Größe kann in vielen Situationen hilfreich sein. Lassen Sie uns besprechen:

Wörterbuchdarstellung: Komprimierungsoperationen für zwei verschiedene Listen können uns dabei helfen, die Listen als Wörterbücher zu erstellen oder darzustellen. Wir können das Gleiche tun, indem wir eine Liste mit den Schlüsseln und eine andere Liste mit den Wörterbuchwerten erhalten.

Datenverarbeitung: In einigen Fällen ist zur weiteren Ausführung der Aufgabe eine Datenverarbeitung erforderlich und möglicherweise ist anstelle so vieler verschiedener Listen eine gemeinsame Liste erforderlich. In diesem Fall können Komprimierungsvorgänge sehr hilfreich sein.

Dateniteration: Komprimierungsoperationen können auch verwendet werden, wenn Sie über Listenelemente iterieren und eine Operation an ihnen ausführen möchten.

Komprimierte Liste

Es gibt viele Möglichkeiten, verschiedene Listen zu komprimieren. Lassen Sie uns einige davon besprechen.

Methode 1: For-Schleifen und Aufzählungen verwenden

Die Verwendung von for-Schleifen mit Aufzählungen ist eine der einfachsten Möglichkeiten, zwei Listen unterschiedlicher Größe zu komprimieren.

# Using For Loop with Enumerate
#1. Define two lists 2. Run a for loop with enumerate 3. Zip the lists

# define the two lists
list1 = [1,2,3,4,5,6]
list2 = [1, 5, 6]

# print the original lists
print ("The input list 1 is : " + str(list1))
print ("The input list 2 is : " + str(list2))

# for i, j run a for loop with enumerate
# append the values with j
res = []
for i, j in enumerate(list1):
  res.append((j, list2[i % len(list2)]))

# print the zipped list
print ("The Zip List from List 1 and 2 is : " + str(res))

Wie wir im obigen Code sehen können, geben wir zwei verschiedene Listen ein, Liste 1 und Liste 2, die unterschiedlich groß sind.

Zuerst drucken wir die Originalliste aus und führen dann eine for-Schleife mit der Aufzählungsfunktion aus, die die Listenelemente anhängt und beide Listen komprimiert.

Ausgabe

Die Ausgabe des folgenden Codes ist:

The input list 1 is : [1, 2, 3, 4, 5, 6] 
The input list 2 is : [1, 5, 6] 
The Zip List from List 1 and 2 is : [(1, 1), (2, 5), (3, 6), (4, 1), (5, 5), (6, 6)]

Methode 2: Verwenden Sie die Zip()-Methode

Die Verwendung des Schlüsselworts Zip() kann uns auch dabei helfen, zwei Listen unterschiedlicher Größe zu komprimieren. Hier können wir bestimmte Schlüsselwörter in der Schleife verwenden.

# using Zip()

# define the list
num_list = [1, 2, 3, 4] # numerical list
str_list = ['one', 'two', 'three', 'four', 'none', 'none'] #string list

# zip the lists with using zip()

zipped_list = [(num, s) for num, s in zip(num_list, str_list)]
print(zipped_list)

Wie wir im obigen Code sehen können, haben wir zwei verschiedene Listen unterschiedlicher Größe und verwenden zip(), um die Listenelemente anzuhängen und die Liste zu komprimieren.

Ausgabe

Die Ausgabe des folgenden Codes ist:

[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]

Methode 3: Verwenden Sie Itertools

Dies ist eine der klassischen Möglichkeiten, zwei Listen unterschiedlicher Größe zu komprimieren. Hier verwenden wir Itertools, um die Liste zu komprimieren.

# using the itertools 

# itertools + cycle

# import the cycle from itertools
from itertools import cycle

# define two different lists
list1 = [1,2,3,4,5,6,7]
list2 = [10, 50, 21]

# print the list1 and list2
print ("The input list 1 is : " + str(list1))
print ("The input list 2 is : " + str(list2))

# now use the cycle imported from itertools 
res = list(zip(list1, cycle(list2))
      if len(list1) > len(list2) #check for conditions
      else zip(cycle(list1), list2))

# printing the zipped list
print ("The Zip List from List 1 and 2 is: " + str(res))

Wie wir im obigen Code sehen können, ist die itertools-Bibliothek bereits installiert und die Schleife wird daraus importiert.

Dann haben wir zwei Listen unterschiedlicher Größe definiert und dieselbe Liste gedruckt. Als nächstes wird die Schleife verwendet, um die Listen zu komprimieren, indem beide Listen an dieselbe Liste übergeben werden.

Ausgabe

Die Ausgabe dieses Codes ist:

The input list 1 is : [1, 2, 3, 4, 5, 6, 7] 
The input list 2 is : [10, 50, 21] 
The Zip List from List 1 and 2 is : [(1, 10), (2, 50), (3, 21), (4, 10), (5, 50), (6, 21), (7, 10)]

Fazit

In diesem Artikel haben wir Listen besprochen, welche Komprimierungsvorgänge für Listen es gibt, welche Anwendungen es dafür gibt und wie man zwei Listen unterschiedlicher Größe in Python komprimiert.

Wir haben insgesamt 3 Methoden besprochen, mit denen Sie eine Liste in Python komprimieren können, und jeder kann eine Liste entsprechend der Problemstellung und Anforderung komprimieren. Dieser Artikel hilft Ihnen, den Komprimierungsvorgang einer Liste zu verstehen und ihn bei Bedarf durchzuführen.

Das obige ist der detaillierte Inhalt vonKomprimieren Sie Listen unterschiedlicher Größe in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen