開始使用免費開始

綜合練習: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))
編輯並執行程式碼