모두 종합하기: 스타워즈 프로파일링
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))