ПочатиПочніть безкоштовно

Використання * і zip для «розпакування»

Ви вже вмієте використовувати zip() і виводити значення з обʼєкта zip. Чудово!

Давайте ще трохи пограємося з zip(). Окремої функції unzip для зворотної дії до zip() не існує. Проте ми можемо виконати «зворотне zip-ування», використавши zip() у поєднанні з *! Оператор * розпаковує ітерований обʼєкт (наприклад, список або кортеж) у позиційні аргументи під час виклику функції.

У цій вправі ви використаєте * у виклику zip(), щоб розпакувати кортежі, які повертає zip().

Два кортежі рядків — mutants і powers — уже завантажено.

Ця вправа є частиною курсу

Набір інструментів Python

Переглянути курс

Інструкції до вправи

  • Створіть обʼєкт zip, викликавши zip() для mutants і powers саме в такому порядку. Присвойте результат змінній z1.
  • Виведіть кортежі з z1, розпакувавши їх у позиційні аргументи за допомогою оператора * у виклику print().
  • Оскільки попередній виклик print() вичерпав елементи z1, створіть обʼєкт zip, як раніше, ще раз і знову присвойте результат змінній z1.
  • «Розпакуйте» кортежі в z1, передавши їх як позиційні аргументи за допомогою оператора * у виклику zip(). Присвойте результати змінним result1 і result2 саме в такому порядку.
  • Останні інструкції print() виводять результат порівняння result1 з mutants і result2 з powers. Натисніть "Submit Answer", щоб перевірити, чи еквівалентні розпаковані result1 і result2 відповідно mutants і powers.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)
Редагувати та запускати код