Čo je funkcia Zip and UnZip v Pythone?



Tento článok vám poskytne podrobné a komplexné znalosti o funkcii Zip v Pythone, o tom, ako sa používa a ako aj rozbaľovať.

Zaujímalo vás niekedy, ako môžeme každý jeden prvok vziať z dvoch rôznych zoznamov, vytvoriť ich ako pár a vložiť ich do nového zoznamu? Okrem zaujímavosti je tento koncept veľmi užitočný v mnohých špecializovaných oblastiach. Poďme sa zoznámiť s funkciou zip v Pythone v nasledujúcom poradí:

Funkcia zip v jazyku Python

Funkcia zip v jazyku Python





funkcia zip () je vstavaná funkcia, ktorá zaberá ľubovoľný počet opakovateľných tabuliek a vracia zoznam n-tic. I-tý prvok n-tice sa vytvorí pomocou i-teho prvku z každej z iterovateľných položiek.

list_A = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (zoznamA, zoznamB) vytlačiť zl

Výkon:



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

Zips v Pythone 3

Keď v Pythone 3 vykonáme vyššie uvedený kód, nedostaneme rovnaký výsledok. Namiesto toho dostaneme:



Vyskúšaj to!

Je to tak preto, lebo metódy zip vrátia objekt zip namiesto zoznamu. Tento objekt zip je iterátorom. Inými slovami, vráti jeden objekt iterátora, ktorý má namapované hodnoty zo všetkých kontajnerov. Takže aby sme dostali hodnoty, buď konvertujeme zl (z vyššie uvedeného kódu) na list, set alebo čokoľvek.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (zoznamA, listB) zl = zoznam (zl) tlač (zl)

Výkon:

ako odovzdať hodnotu v jave

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

Rozbaľovanie v Pythone

Rozbalenie znamená prevedenie zipsovaných hodnôt späť na jednotlivé ja, ako boli. To sa deje pomocou operátora „*“. Takže teraz, ak chceme dať staré hodnoty do listA a listB zo zazipovaného zoznamu zl, musíme rozbaliť zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA a listB a vložte ich do jedného zoznamu zl zl = zip (listA, listB) zl = list (zl) print (zl) #unzip zl a hodnoty vráťte späť do listA a listB listA, listB = zip (* zl) print (listA) print (listB)

Výkon:

[(1, „a“), (2, „b“), (3, „c“), (4, „d“)]
(1, 2, 3, 4)
('a B C d')

triediaca funkcia c ++ pole

Aby sme jasne pochopili rozdiel, vezmeme dve nové premenné a vložíme do nich rozbalené dáta.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (zoznamA, listB) zl = zoznam (zl) tlač (zl) listC, listD = zip (* zl) tlač (listC) tlač (listD) tlač (listA) tlač (listB)

Výkon:

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

Ako vidíte, listA a listB sú zoznamy a listC a listD sa zobrazia ako n-tice zobrazené ako výstup. To je jediný menší rozdiel.

Týmto sa dostávame na koniec článku Zip Function v jazyku Python. Dúfam, že ste sa tieto pojmy naučili dobre, a preto vyskúšate, aby boli presnejšie.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov tohto blogu „Funkcia Zip v Pythone“ a my sa vám ozveme čo najskôr.

Ak chcete získať podrobné informácie o Pythone a jeho rôznych aplikáciách, môžete s našim živým online školením s nepretržitou podporou a doživotným prístupom.