Vad är Zip och UnZip-funktion i Python?



Den här artikeln ger dig en detaljerad och omfattande kunskap om Zip-funktion i Python, hur den används och hur du packar upp den också.

Har du någonsin undrat hur vi kan ta ett element vardera från två olika listor och göra dem som ett par och lägga dem i en ny lista? Tja, detta koncept förutom att vara intressant är mycket användbart inom många specialiseringsområden. Låt oss introduceras till zip-funktionen i Python i följande ordning:

Zip-funktion i Python

Zip-funktion i Python





zip () -funktionen är en inbyggd funktion och det tar valfritt antal iterables och returnerar en lista med tuples. Tittelns ith-element skapas med hjälp av ith-elementet från varje iterabel.

list_A = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) skriv ut zl

Produktion:



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

theano vs tensorflow vs keras

Zip i Python 3

I Python 3 får vi inte samma resultat när vi utför koden ovan. Istället får vi:



Testa!

Detta beror på att zip-metoder returnerar ett zip-objekt istället för en lista. Detta zip-objekt är en iterator. Med andra ord returnerar ett enda iteratorobjekt med mappade värden från alla behållare. Så för att få värdena konverterar vi antingen zl (från ovanstående kod) till lista, set eller något.

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

Produktion:

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

vad är aggregering i java

Packar upp i Python

Unzipping innebär att man konverterar de zippade värdena tillbaka till det individuella jaget som de var. Detta görs med hjälp av '*' -operatören. Så nu, om vi vill placera de gamla värdena i listA och listB från zippad lista zl, så måste vi packa upp zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA och listB och placera den i en lista zl zl = zip (listA, listB) zl = lista (zl) skriva ut (zl) # unzip zl och sätt värdena tillbaka till listA och listB listA, listB = zip (* zl) skriv ut (listA) skriv ut (listB)

Produktion:

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

För att tydligt förstå skillnaden tar vi två nya variabler och lägger in de uppackade data i den.

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)

Produktion:

[(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']

c ++ - fönstersekvens

Som du kan se är listA och listB listor och listC och listD visas som tuplar som utdata. Det är den enda mindre skillnaden.

Med detta kommer vi till slutet av denna Zip-funktion i Python-artikeln. Jag hoppas att du har lärt dig begreppen bra och därför försöker vara mer exakt.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen på denna 'Zip-funktion i Python' -bloggen så kommer vi tillbaka till dig så snart som möjligt.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du med vår live-utbildning online med support dygnet runt och livstidsåtkomst.