सब कुछ एक साथ: 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
यह अभ्यास पाठ्यक्रम का हिस्सा है
Efficient 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))