1. Learn
  2. /
  3. कोर्स
  4. /
  5. Efficient Python Code लिखना

Connected

अभ्यास

सब कुछ एक साथ: 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

निर्देश 1/4

undefined XP
    1
    2
    3
    4
  • get_publisher_heroes() और get_publisher_heroes_np() फंक्शन का उपयोग करके Star Wars यूनिवर्स के हीरोज़ इकट्ठा करें. Star Wars के लिए desired_publisher 'George Lucas' है.