Heim  >  Artikel  >  Backend-Entwicklung  >  So komprimieren Sie ungerade Tupel in Python

So komprimieren Sie ungerade Tupel in Python

WBOY
WBOYnach vorne
2023-08-30 11:09:121360Durchsuche

So komprimieren Sie ungerade Tupel in Python

Einführung

In Python sind Tupel eine der am weitesten verbreiteten Methoden, um Daten bedarfsgerecht zu speichern und zu verarbeiten. In Tupeln sind viele Vorgänge involviert, bei denen die Daten gemäß den Anforderungen der Problemstellung vorverarbeitet und transformiert werden. Die Komprimierungsoperation ist eine der gebräuchlichsten und am weitesten verbreiteten Operationen zum Komprimieren verschiedener Tupel.

In diesem Artikel besprechen wir die Komprimierung ungerader Tupel in Python, was ungleiche Tupelkomprimierung eigentlich bedeutet und verschiedene Möglichkeiten, denselben Vorgang durch Codeerklärung auszuführen. Dieser Artikel hilft den Leuten, die Kernidee hinter der Komprimierung ungerader Tupel zu verstehen und ihnen bei Bedarf dabei zu helfen, dasselbe zu tun.

Lassen Sie uns nun zunächst die Bedeutung der Komprimierung in Python und der ungleichmäßigen Tupelkomprimierung in Python diskutieren.

Was ist ungleichmäßige Tupelkomprimierung?

In Python bedeutet das Wort zip oder zipping, dass wir die Elemente verschiedener Tupel hinzufügen, es bedeutet, dass wir ein Paar Elemente verschiedener Tupel erstellen und sie in einem einzigen gemeinsamen Tupel speichern.

Wenn wir zum Beispiel zwei Tupel wie dieses haben:

T1 = (1, 2, 3)

T2 = („eins“, „zwei“, „drei“)

Wenn Sie dann eine Komprimierungsoperation für diese Tupel durchführen, erhalten Sie die folgende Ausgabe:

T_Zip = ((, „eins“), (2, „zwei“), (3, „drei“))

Das ungleiche Tupel bedeutet hier, dass die Größe oder Länge der beiden Tupel nicht gleich ist, dh die Größe eines Tupels ist kleiner oder größer als die des anderen Tupels. Der Komprimierungsvorgang ist für Tupel gleicher Größe oder Länge eine sehr einfache Aufgabe, wird jedoch sehr komplex, wenn zwei Tupel unterschiedlicher Größe oder ungleichmäßiger Größe komprimiert werden.

Es gibt jedoch Möglichkeiten, zwei ungerade Tupel zu komprimieren. Lassen Sie uns sie einzeln besprechen.

Ungerade Tupel komprimieren

In Python verwenden wir hauptsächlich drei Methoden zum Komprimieren ungerader Tupel.

  • Verwenden Sie For-Schleifen und Aufzählungen

  • Verwenden Sie das Listenverständnis

  • Numpy-Bibliothek verwenden

Methode 1: For-Schleifen und Aufzählungen verwenden

Wir können for-Schleifen und Aufzählungsfunktionen verwenden, um ungerade Tupel zu komprimieren. Dies ist eine der einfachsten und effizientesten clientseitigen Möglichkeiten, dies zu tun.

# using for loop and enumerate 

# define the tuples
test_tup1 = (7, 8, 4, 5)
test_tup2 = (1, 5, 6)

# print the input tuples
print("The input  tuple 1 is : " + str(test_tup1))
print("The input  tuple 2 is : " + str(test_tup2))

res = []


# use for loop with enumerate 
for i, j in enumerate(test_tup1):
  res.append((j, test_tup2[i % len(test_tup2)]))

# Print the final resultant tuple after zipping tuple 1 and 2
print("The output zipped tuple from tuple 1 and 2 is : " + str(res))

Wie wir im obigen Code sehen können, werden die Tupel 1 und 2 von () abgelehnt und haben nicht die gleiche Größe oder Länge.

Jetzt wird die for-Schleife mit der Aufzählung verwendet, die die Elemente tuple1 und tuple2 anhängt und die Ausgabe im Tupelformat liefert.

Ausgabe

Die Ausgabe des folgenden Codes ist:

The input tuple 1 is : (7, 8, 4, 5) 
The input tuple 2 is : (1, 5, 6) 
The output zipped tuple from tuple 1 and 2 is : [(7, 1), (8, 5), (4, 6), (5, 1)]

Methode 2: Listenverständnis nutzen

Sie können auch ein Listenverständnis verwenden, um zwei ungerade Tupel zu komprimieren. Hier kann der ternäre Operator verwendet werden.

# using list comprehension

# define the tuples 
tup1 = (7, 8, 4, 5)
tup2 = (1, 5, 6)

# print the input tuples 
print("The input tuple 1 is : " + str(tup1))
print("The input tuple 2 is : " + str(tup2))

# define if else conditions
res = [(tup1[i], tup2[i % len(tup2)])
  if len(tup1) > len(tup2)

  else (tup1[i % len(tup1)], tup2[i])

  # use for loop on tuple 1 and 2
  for i in range(max(len(tup1), len(tup2)))]

#Print the final resultant tuple after zipping tuple 1 and 2
print(" The output zipped tuple from tuple 1 and 2 is :" + str(res))

Wie wir im obigen Code sehen können, werden zwei Tupel unterschiedlicher Größe definiert und dann die if else-Bedingung geschrieben, bei der zunächst die Länge der Tupel überprüft wird und schließlich die for-Schleife die beiden Tupel anhängt und die Ausgabe zurückgibt.

Ausgabe

Die Ausgabe des folgenden Codes ist:

The input tuple 1 is : (7, 8, 4, 5) 
The input tuple 2 is : (1, 5, 6) 
The output zipped tuple from tuple 1 and 2 is : [(7, 1), (8, 5), (4, 6), (5, 1)]

Methode 3: Numpy-Bibliothek verwenden

Numpy ist eine der am häufigsten verwendeten Bibliotheken zum Durchführen von Operationen an Daten. Wenn wir hier Daten im Array-Format verwenden, können wir fast alles tun und Numpy verwenden, um die Daten in alles umzuwandeln.

#using numpy module to zip the uneven tuples 

# Importing the numpy module
import numpy as np

# define the tuples
test_tup1 = (7, 8, 4, 5)
test_tup2 = (1, 5, 6)

# convert the tuples into array format
arr1 = np.array(test_tup1)
arr2 = np.array(test_tup2)

# use np.tile 
arr2_tiled = np.tile(arr2, (len(arr1) // len(arr2) + 1))[:len(arr1)]

#use column_stack on array 1 and tiled array 2 to zip the tuples 
res_arr = np.column_stack((arr1, arr2_tiled))

# convert the array output to the tuple
res = tuple(map(tuple, res_arr))

# Print the final resultant tuple after zipping tuple 1 and 2
print("The output zipped tuple from tuple 1 and 2 is : " + str(res))

Wie wir im obigen Code sehen können, haben wir zuerst die Numpy-Bibliothek importiert und dann zwei Tupel unterschiedlicher Größe definiert.

Dann benötigt die Numpy-Bibliothek, wie oben erwähnt, Daten im Array-Format, um diese verarbeiten zu können. Daher wird das Tupel an np.array übergeben, das die Daten in das Array-Format konvertiert.

Sobald wir das Tupel als Array haben, wird np.column_stack verwendet, um die Elemente des Arrays anzuhängen und das Tupel wird komprimiert.

Anschließend konvertieren Sie das endgültige Array mithilfe der Funktion tuple() erneut in ein Tupel.

Ausgabe

Die Ausgabe des folgenden Codes ist:

The output zipped tuple from tuple 1 and 2 is : ((7, 1), (8, 5), (4, 6), (5, 1))

Fazit

In diesem Artikel haben wir den Komprimierungsvorgang von zwei ungeraden Tupeln oder zwei Tupeln unterschiedlicher Größe (Länge) besprochen. Die oben besprochenen drei verschiedenen Arten der Komprimierung ungleichmäßiger Tupel helfen dabei, den Komprimierungsvorgang zu verstehen und ihn bei Bedarf durchzuführen.

Das obige ist der detaillierte Inhalt vonSo komprimieren Sie ungerade Tupel 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