综合运用:Star Wars(星球大战)性能分析
您的会话中已经加载了一个包含 480 位超级英雄的列表(名为 heroes),以及每位英雄对应的出版商列表(名为 publishers)。
您想根据特定出版商来筛选 heroes 列表,但不确定下面哪一个函数更高效。
def get_publisher_heroes(heroes, publishers, desired_publisher):
desired_heroes = []
for i,pub in enumerate(publishers):
if pub == desired_publisher:
desired_heroes.append(heroes[i])
return desired_heroes
def get_publisher_heroes_np(heroes, publishers, desired_publisher):
heroes_np = np.array(heroes)
pubs_np = np.array(publishers)
desired_heroes = heroes_np[pubs_np == desired_publisher]
return desired_heroes
本练习是课程的一部分
高效编写 Python 代码
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Use get_publisher_heroes() to gather Star Wars heroes
star_wars_heroes = get_publisher_heroes(____, ____, ____)
print(star_wars_heroes)
print(type(star_wars_heroes))
# Use get_publisher_heroes_np() to gather Star Wars heroes
star_wars_heroes_np = get_publisher_heroes_np(____, ____, ____)
print(star_wars_heroes_np)
print(type(star_wars_heroes_np))