НачатьНачать бесплатно

Использование * и zip для «распаковки»

Вы уже умеете работать с zip() и выводить значения из объекта zip. Отлично!

Давайте поэкспериментируем с zip() ещё немного. Функции unzip, которая выполняла бы обратную операцию, не существует. Однако «раскрутить» то, что было объединено с помощью 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. Нажмите Отправить ответ, чтобы проверить, совпадают ли распакованные 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)
Редактировать и запускать код