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

Цикл с единым преобразованием

В вашей сессии загружен список всех возможных типов покемонов — pokemon_types. Для удобства он выведен в консоль.

Вам нужно собрать все возможные пары типов покемонов. Каждую пару вы хотите хранить в отдельном списке, где первым элементом служит порядковый индекс. Это позволит увидеть общее количество возможных пар и получить пронумерованные метки для каждой из них.

Для решения этой задачи был написан следующий цикл:

enumerated_pairs = []

for i,pair in enumerate(possible_pairs, 1):
    enumerated_pair_tuple = (i,) + pair
    enumerated_pair_list = list(enumerated_pair_tuple)
    enumerated_pairs.append(enumerated_pair_list)

Давайте сделаем этот цикл эффективнее с помощью единого преобразования.

Это упражнение является частью курса

Эффективный код на Python

Посмотреть курс

Инструкции к упражнению

  • В вашей сессии загружена функция combinations из модуля itertools. Используйте её, чтобы создать список possible_pairs, содержащий все возможные пары типов покемонов (в каждой паре 2 типа).
  • Создайте пустой список enumerated_tuples перед циклом for.
  • Используйте встроенную функцию, чтобы преобразовать каждый кортеж в enumerated_tuples в список.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Collect all possible pairs using combinations()
possible_pairs = [*____(pokemon_types, ____)]

# Create an empty list called enumerated_tuples
____ = ____

for i,pair in enumerate(possible_pairs, 1):
    enumerated_pair_tuple = (i,) + pair
    enumerated_tuples.append(enumerated_pair_tuple)

# Convert all tuples in enumerated_tuples to a list
enumerated_pairs = [*____(____, enumerated_tuples)]
print(enumerated_pairs)
Редактировать и запускать код