開始使用免費開始

整體轉換迴圈

所有可能的 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 程式碼

檢視課程

練習說明

  • itertools 模組中的 combinations 已載入到你的工作階段。使用它來建立名為 possible_pairs 的清單,內容為所有可能的 Pokémon 類型配對(每個配對包含 2 種 Pokémon 類型)。
  • 在 for 迴圈上方建立一個名為 enumerated_tuples 的空清單。
  • 使用內建函式將 enumerated_tuples 中的每個 tuple 轉成 list。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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)
編輯並執行程式碼