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

Connected

道练习

综合运用: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

说明 1 / 共 4 个

undefined XP
    1
    2
    3
    4
  • 使用 get_publisher_heroes() 和 get_publisher_heroes_np() 函数来收集 Star Wars 宇宙中的英雄。Star Wars 的 desired_publisher 是 'George Lucas'。