Co to jest funkcja Zip i UnZip w Pythonie?



W tym artykule znajdziesz szczegółową i wszechstronną wiedzę o funkcji Zip w Pythonie, o tym, jak jest używana i jak rozpakować.

Czy zastanawiałeś się kiedyś, jak możemy pobrać po jednym elemencie z dwóch różnych list, połączyć je w parę i umieścić na nowej liście? Cóż, ta koncepcja oprócz tego, że jest interesująca, jest bardzo przydatna w wielu obszarach specjalizacji. Przejdźmy do funkcji zip w Pythonie w następującej kolejności:

Funkcja Zip w Pythonie

Funkcja Zip w Pythonie





Funkcja zip () jest funkcją wbudowaną i przyjmuje dowolną liczbę elementów iteracyjnych i zwraca listę krotek. I-ty element krotki jest tworzony przy użyciu i-tego elementu z każdej iterable.

co to jest printwriter w java
list_A = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) print zl

Wynik:



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

Zip w Pythonie 3

W Pythonie 3, kiedy wykonujemy powyższy kod, nie uzyskamy tego samego wyniku. Zamiast tego otrzymamy:



Wypróbuj to!

Dzieje się tak, ponieważ metody zip zwracają obiekt zip zamiast listy. Ten obiekt zip jest iteratorem. Innymi słowy, zwraca pojedynczy obiekt iteratora mający zmapowane wartości ze wszystkich kontenerów. Aby więc otrzymać wartości, przeliczamy zl (z powyższego kodu) na listę, zestaw lub cokolwiek.

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

Wynik:

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

Rozpakowywanie w Pythonie

Rozpakowanie oznacza konwersję spakowanych wartości z powrotem do indywidualnej wartości, tak jak były. Odbywa się to za pomocą operatora „*”. Więc teraz, jeśli chcemy wstawić stare wartości do listA i listB ze spakowanej listy zl, musimy rozpakować zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA i listB i umieść to na jednej liście zl zl = zip (listA, listB) zl = list (zl) print (zl) #unzip zl i wstaw wartości z powrotem do listA i listB listA, listB = zip (* zl) print (listA) print (listB)

Wynik:

co jest przemijające w java

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

Aby jasno zrozumieć różnicę, bierzemy dwie nowe zmienne i umieszczamy w nich rozpakowane dane.

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)

Wynik:

[(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 widać, listA i listB to listy, a listC i listD są pokazane jako krotki pokazane na wyjściu. To jedyna drobna różnica.

W ten sposób dochodzimy do końca artykułu o funkcji Zip w języku Python. Mam nadzieję, że dobrze nauczyłeś się pojęć i dlatego wypróbujesz je, aby były dokładniejsze.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na blogu „Funkcja Zip w Pythonie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.

Aby uzyskać dogłębną wiedzę o Pythonie i jego różnych aplikacjach, możesz dzięki naszym szkoleniom online na żywo z całodobowym wsparciem i dożywotnim dostępem.