Co je funkce Zip a UnZip v Pythonu?

Tento článek vám poskytne podrobné a komplexní znalosti o funkci Zip v Pythonu, o tom, jak se používá a jak také rozbalit.

Přemýšleli jste někdy, jak můžeme vzít jeden prvek každý ze dvou různých seznamů a vytvořit je jako pár a dát je do nového seznamu? Kromě zajímavosti je tento koncept velmi užitečný v mnoha oblastech specializace. Pojďme se seznámit s funkcí zip v Pythonu v následujícím pořadí:

Funkce zip v Pythonu

Funkce zip v Pythonu





Funkce zip () je vestavěná funkce, která přebírá libovolný počet iterable a vrací seznam n-tic. I-tý prvek n-tice je vytvořen pomocí i-tého prvku z každé iterovatelné tabulky.

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

Výstup:



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

Zip v Pythonu 3

Když v Pythonu 3 provedeme výše uvedený kód, nedostaneme stejný výsledek. Místo toho dostaneme:



Vyzkoušet to!

Je to proto, že metody zip vrací namísto seznamu objekt zip. Tento zip objekt je iterátor. Jinými slovy, vrátí jeden iterátorový objekt, který má namapované hodnoty ze všech kontejnerů. Abychom tedy dostali hodnoty, buď převedeme zl (z výše uvedeného kódu) na list, set nebo cokoli jiného.

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

Výstup:

zpracování výjimek v Oracle uložené proceduře

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

Rozbalení v Pythonu

Rozbalení znamená převedení zipovaných hodnot zpět na individuální já, jaké byly. To se provádí pomocí operátoru „*“. Takže teď, pokud chceme dát staré hodnoty do listA a listB ze zazipovaného seznamu zl, musíme zz rozbalit.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA a listB a vložte jej do jednoho seznamu zl zl = zip (listA, listB) zl = list (zl) print (zl) #unzip zl a vraťte hodnoty zpět do listA a listB listA, listB = zip (* zl) print (listA) print (listB)

Výstup:

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

jak používat semafory v Javě

Abychom jasně pochopili rozdíl, vezmeme dvě nové proměnné a vložíme do nich rozbalená data.

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

Výstup:

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

Jak vidíte, listA a listB jsou seznamy a listC a listD jsou zobrazeny jako n-tice zobrazené jako výstup. To je jediný menší rozdíl.

S tímto se dostáváme na konec této funkce Zip v článku Pythonu. Doufám, že jste se koncepty dobře naučili, a proto je vyzkoušíte, aby byly přesnější.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Funkce Zip v Pythonu“ a my se vám ozveme co nejdříve.

Chcete-li získat podrobné znalosti Pythonu a jeho různých aplikací, můžete s naším živým online školením s nepřetržitou podporou a doživotním přístupem.