Zacznij terazZacznij za darmo

Użycie * i zip do 'rozpakowania'

Wiesz już, jak używać zip() i jak wyświetlać wartości z obiektu zip. Świetnie!

Poeksperymentujmy z zip() jeszcze trochę. Nie istnieje funkcja unzip, która działałaby odwrotnie niż zip(). Możemy jednak odwrócić efekt działania zip() – wystarczy użyć jej razem z operatorem *! Operator * rozpakowuje iterowalny obiekt, taki jak lista lub krotka, do argumentów pozycyjnych w wywołaniu funkcji.

W tym ćwiczeniu użyjesz * w wywołaniu zip(), aby rozpakować krotki utworzone przez zip().

Dwie krotki łańcuchów znaków, mutants i powers, zostały wcześniej wczytane.

To ćwiczenie jest częścią kursu

Zestaw narzędzi Pythona

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz obiekt zip, używając zip() na mutants i powers – w tej kolejności. Przypisz wynik do z1.
  • Wyświetl krotki z z1, rozpakowując je do argumentów pozycyjnych za pomocą operatora * w wywołaniu print().
  • Ponieważ poprzednie wywołanie print() wyczerpało elementy z z1, odtwórz wcześniej zdefiniowany obiekt zip i ponownie przypisz wynik do z1.
  • 'Rozpakuj' krotki z z1, przekazując je jako argumenty pozycyjne za pomocą operatora * w wywołaniu zip(). Przypisz wyniki do result1 i result2 – w tej kolejności.
  • Ostatnia instrukcja print() wyświetla wynik porównania result1 z mutants oraz result2 z powers. Kliknij Prześlij odpowiedź, aby sprawdzić, czy rozpakowane result1 i result2 są równoważne odpowiednio mutants i powers.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Create a zip object from mutants and powers: z1
z1 = ____

# Print the tuples in z1 by unpacking with *
print(____)

# Re-create a zip object from mutants and powers: z1
z1 = ____

# 'Unzip' the tuples in z1 by unpacking with * and zip(): result1, result2
result1, result2 = ____

# Check if unpacked tuples are equivalent to original tuples
print(result1 == mutants)
print(result2 == powers)
Edytuj i uruchom kod