宝可梦的组合
小智是一名宝可梦训练家,他遇到了一组 5 只宝可梦。这些宝可梦已经加载到您会话中的一个列表(名为 pokemon)里,并已打印到控制台,方便您查看。
小智想尝试捕捉其中的一些宝可梦,但他的宝可梦图鉴一次只能存储两只。让我们使用 itertools 模块中的 combinations 来看看小智可以捕捉到的宝可梦可能成对组合有哪些。
本练习是课程的一部分
高效编写 Python 代码
练习说明
- 从
itertools导入combinations。 - 创建一个名为
combos_obj的 combinations 对象,其中包含pokemon列表中所有可能的宝可梦配对。每个配对包含2只宝可梦。 - 将
combos_obj解包为名为combos_2的列表。 - 小智升级了他的图鉴,现在可以存储四只宝可梦。使用
combinations收集所有由4只不同宝可梦组成的组合。使用星号(*)将这些组合直接保存到列表combos_4中。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Import combinations from itertools
____ ____ ____ ____
# Create a combination object with pairs of Pokémon
combos_obj = ____(____, ____)
print(type(combos_obj), '\n')
# Convert combos_obj to a list by unpacking
combos_2 = ____
print(combos_2, '\n')
# Collect all possible combinations of 4 Pokémon directly into a list
combos_4 = ____
print(combos_4)