1. Learn
  2. /
  3. 课程
  4. /
  5. 高效编写 Python 代码

Connected

道练习

整体式转换循环

所有可能的 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)

让我们使用整体式转换来使这个循环更高效。

说明

100 XP
  • 会话中已加载 itertools 模块中的 combinations。使用它创建一个名为 possible_pairs 的列表,包含所有可能的 Pokémon 类型配对(每个配对包含 2 个 Pokémon 类型)。
  • 在 for 循环上方创建一个名为 enumerated_tuples 的空列表。
  • 使用一个内置函数将 enumerated_tuples 中的每个元组转换为列表。