Začněte nyníZačněte zdarma

Použití * a zip k 'rozbalení'

Umíš pracovat s zip() i vypisovat hodnoty z objektu zip. Výborně!

Pohrajme si s zip() ještě trochu víc. Na rozdíl od zip() neexistuje žádná funkce unzip, která by dělala opak. Pomocí zip() ve spojení s operátorem * ale lze to, co bylo zabaleno pomocí zip, zase rozbalit! * rozbalí iterovatelný objekt, například seznam nebo n-tici, do pozičních argumentů při volání funkce.

V tomto cvičení použiješ * ve volání zip() k rozbalení n-tic, které zip() vytvoří.

Dvě n-tice řetězců, mutants a powers, jsou již předem načteny.

Toto cvičení je součástí kurzu

Python Toolbox

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř objekt zip pomocí funkce zip() aplikované na mutants a powers (v tomto pořadí). Výsledek přiřaď do proměnné z1.
  • Vypiš n-tice z z1 jejich rozbalením do pozičních argumentů pomocí operátoru * ve volání print().
  • Protože předchozí volání print() vyčerpá všechny prvky z z1, znovu vytvoř dříve definovaný objekt zip a výsledek opět přiřaď do z1.
  • 'Rozbal' n-tice z z1 jejich rozbalením do pozičních argumentů pomocí operátoru * ve volání zip(). Výsledky přiřaď do result1 a result2 (v tomto pořadí).
  • Poslední příkaz print() vypíše výsledek porovnání result1 s mutants a result2 s powers. Klikni na Submit Answer a zjisti, zda jsou rozbalené proměnné result1 a result2 shodné s mutants, resp. powers.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód