Использование и распаковка кортежей
Если у вас есть кортеж вида ('chocolate chip cookies', 15) и вы хотите обратиться к каждой его части, можно использовать индекс — так же, как в списке. Однако кортеж можно и «распаковать» в несколько переменных: например, type, count = ('chocolate chip cookies', 15) присвоит переменной type значение 'chocolate chip cookies', а переменной count — значение 15.
Нередко возникает необходимость объединить несколько массивов данных попарно. Именно для этого служит функция zip(): она возвращает список кортежей, каждый из которых содержит по одному элементу из каждого переданного списка.
При переборе элементов списка можно отслеживать текущую позицию с помощью функции enumerate(). Она возвращает индекс текущего элемента и сам элемент.
(Подробнее о последней строке кода мы поговорим на следующем уроке)
Это упражнение является частью курса
Типы данных в Python
Инструкции к упражнению
- Используйте функцию
zip(), чтобы объединитьgirl_namesиboy_namesпопарно, и сохраните результат в переменнуюpairs. - Используйте цикл
forдля перебораpairs, применивenumerate()для отслеживания позиции. Распакуйте элементыpairsв переменныеrankиpair. - Распакуйте
pairв переменныеgirl_nameиboy_name. - Выведите на экран порядковый номер, имя девочки и имя мальчика — именно в таком порядке. Порядковый номер хранится в переменной
rank.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Pair up the girl and boy names: pairs
pairs = ____
# Iterate over pairs
for ____, ____ in ____:
# Unpack pair: girl_name, boy_name
____, ____ = ____
# Print the rank and names associated with each rank
print(f'Rank {rank+1}: {girl_name} and {boy_name}')