Цілісне перетворення в циклі
Список усіх можливих типів 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)