Wat is de functie Zip en UnZip in Python?



Dit artikel geeft je een gedetailleerde en uitgebreide kennis van de Zip-functie in Python, hoe deze wordt gebruikt en hoe je deze kunt uitpakken.

Heb je je ooit afgevraagd hoe we elk een element uit twee verschillende lijsten kunnen nemen en ze als paar kunnen maken en ze in een nieuwe lijst kunnen plaatsen? Dit concept is niet alleen interessant, maar het is ook erg handig in veel specialisatiegebieden. Laten we in de volgende volgorde kennismaken met de zip-functie in Python:

Zip-functie in Python

Zip-functie in Python





zip () functie is een ingebouwde functie die een willekeurig aantal iterables nodig heeft en een lijst met tupels retourneert. Het i-element van het tupel wordt gemaakt met het i-element uit elk van de iterables.

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

Uitgang:



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

Zip in Python 3

In Python 3 krijgen we niet hetzelfde resultaat als we de bovenstaande code uitvoeren. In plaats daarvan krijgen we:



Probeer het!

Dit komt doordat zip-methoden een zip-object retourneren in plaats van een lijst. Dit zip-object is een iterator. Met andere woorden, retourneert een enkel iteratorobject, met toegewezen waarden van alle containers. Dus om de waarden te krijgen, converteren we de zl (van de bovenstaande code) naar lijst, set of iets anders.

lijstA = [1, 2, 3, 4] lijstB = ['a', 'b', 'c', 'd'] zl = zip (lijstA, lijstB) zl = lijst (zl) print (zl)

Uitgang:

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

Uitpakken in Python

Uitpakken betekent dat de gezipte waarden weer naar het individuele zelf worden geconverteerd zoals ze waren. Dit wordt gedaan met behulp van de operator '*'. Dus nu, als we de oude waarden in lijstA en lijstB willen plaatsen vanuit gezipte lijst zl, dan moeten we zl uitpakken.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA en listB en zet het in één lijst zl zl = zip (listA, listB) zl = lijst (zl) print (zl) #unzip zl en plaats de waarden terug naar lijstA en lijstB lijstA, lijstB = zip (* zl) print (lijstA) print (lijstB)

Uitgang:

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

Om het verschil duidelijk te begrijpen, nemen we twee nieuwe variabelen en stoppen we de uitgepakte gegevens daarin.

lijstA = [1, 2, 3, 4] lijstB = ['a', 'b', 'c', 'd'] zl = zip (lijstA, lijstB) zl = lijst (zl) print (zl) lijstC, listD = zip (* zl) print (lijstC) print (lijstD) print (lijstA) print (lijstB)

Uitgang:

php instellen op windows

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

Zoals u kunt zien, zijn lijstA en lijstB lijsten en worden lijstC en lijstD weergegeven als tuples die worden weergegeven als de uitvoer. Dat is het enige kleine verschil.

Hiermee komen we aan het einde van dit Zip-functie in Python-artikel. Ik hoop dat je de concepten goed hebt geleerd en het daarom uitprobeert om nauwkeuriger te zijn.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze 'Zip-functie in Python' -blog en we nemen zo snel mogelijk contact met je op.

Om diepgaande kennis van Python en zijn verschillende toepassingen te krijgen, kunt u dat met onze live online training met 24/7 ondersteuning en levenslange toegang.