Che cos'è la funzione Zip e UnZip in Python?



Questo articolo ti fornirà una conoscenza dettagliata e completa della funzione Zip in Python, di come viene utilizzata e anche di come decomprimerla.

Ti sei mai chiesto come possiamo prendere un elemento ciascuno da due elenchi diversi e crearli in coppia e inserirli in un nuovo elenco? Ebbene questo concetto oltre ad essere interessante è molto utile in molte aree di specializzazione. Veniamo introdotti alla funzione zip in Python nel seguente ordine:

Funzione Zip in Python

Funzione Zip in Python





La funzione zip () è una funzione incorporata e accetta un numero qualsiasi di iterabili e restituisce un elenco di tuple. L'i-esimo elemento della tupla viene creato usando l'elemento i-esimo di ciascuno degli iterabili.

copia profonda vs superficiale java
list_A = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) print zl

Produzione:



[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]

Zip in Python 3

In Python 3, quando eseguiamo il codice sopra, non otterremo lo stesso risultato. Invece, otterremo:



Provalo!

Questo perché i metodi zip restituiscono un oggetto zip invece di un elenco. Questo oggetto zip è un iteratore. In altre parole, restituisce un singolo oggetto iteratore, con valori mappati da tutti i contenitori. Quindi, per ottenere i valori, convertiamo zl (dal codice sopra) in list, set o altro.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) print (zl)

Produzione:

[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]

Decomprimere in Python

Decomprimere significa riconvertire i valori zippati nel sé individuale così com'erano. Questo viene fatto con l'aiuto dell'operatore '*'. Quindi ora, se vogliamo mettere i vecchi valori in listA e listB dalla lista zippata zl, allora dobbiamo decomprimere zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA e listB e inseriscili in una lista zl zl = zip (listA, listB) zl = list (zl) print (zl) #unzip zl e rimetti i valori in listA e listB listA, listB = zip (* zl) print (listA) print (listB)

Produzione:

dimensione di un array javascript

[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
(1, 2, 3, 4)
('A', 'b', 'c', 'd')

Per comprendere chiaramente la differenza, prendiamo due nuove variabili e vi inseriamo i dati decompressi.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) print (zl) listC, listD = zip (* zl) print (listC) print (listD) print (listA) print (listB)

Produzione:

[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
(1, 2, 3, 4, 5)
('A', 'b', 'c', 'd', 'e')
[1, 2, 3, 4, 5]
['A', 'b', 'c', 'd', 'e']

Come puoi vedere, listA e listB sono elenchi e listC e listD sono mostrati come tuple mostrate come output. Questa è l'unica differenza minore.

Con questo, arriviamo alla fine di questo articolo sulla funzione Zip in Python. Spero che tu abbia imparato bene i concetti e quindi provalo per essere più accurato.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog 'Funzione Zip in Python' e ti risponderemo il prima possibile.

Per ottenere una conoscenza approfondita di Python e delle sue varie applicazioni, puoi farlo con la nostra formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.