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

Цілісне перетворення в циклі

Список усіх можливих типів Pokémon завантажено у вашу сесію як pokemon_types. Для зручності його виведено в консолі.

Ви хочете зібрати всі можливі пари типів Pokémon. Кожну пару потрібно зберегти в окремому списку з пронумерованим індексом як першим елементом цього списку. Це дозволить побачити загальну кількість можливих пар і матиме індексовану мітку для кожної пари.

Нижче наведено цикл, який розв'язує це завдання:

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, який містить усі можливі пари типів Pokémon (кожна пара має 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)
Редагувати та запускати код