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ả
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))