เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

รวมทุกอย่างเข้าด้วยกัน: การโปรไฟล์ 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 Code ที่มีประสิทธิภาพ

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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))
แก้ไขและรันโค้ด