1. 학습
  2. /
  3. 강의
  4. /
  5. 효율적인 Python 코드 작성

Connected

연습 문제

모두 종합하기: 스타워즈 프로파일링

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() 함수를 사용해 스타워즈 유니버스의 히어로를 수집하세요. 스타워즈의 desired_publisher는 'George Lucas'입니다.