Bắt đầu ngayBắt đầu miễn phí

Tổng hợp: profiling Star Wars

Một danh sách gồm 480 siêu anh hùng đã được nạp vào phiên của bạn (gọi là heroes) cùng với danh sách nhà xuất bản tương ứng của từng anh hùng (gọi là publishers).

Bạn muốn lọc danh sách heroes theo nhà xuất bản cụ thể của từng anh hùng, nhưng chưa chắc hàm nào dưới đây hiệu quả hơn.

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

Bài tập này là một phần của khóa học

Viết mã Python hiệu quả

Xem khóa học

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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))
Chỉnh sửa và Chạy Mã