शुरू करेंमुफ़्त में शुरू करें

बिना लूप के Pokémon totals और averages

720 Pokémon की एक सूची names नाम से आपके सेशन में लोड है. हर Pokémon के संबंधित आँकड़े (statistics) एक NumPy array stats के रूप में लोड हैं. stats की हर row names में एक Pokémon से मेल खाती है और हर column एक व्यक्तिगत Pokémon stat दर्शाता है (HP, Attack, Defense, Special Attack, Special Defense, और Speed क्रमशः).

आप हर Pokémon का कुल stat मान (अर्थात् stats की हर row का sum) और हर Pokémon का औसत stat मान (अर्थात् stats की हर row का mean) इकट्ठा करना चाहते हैं ताकि आप सबसे मज़बूत Pokémon ढूँढ़ सकें.

इन मानों को इकट्ठा करने के लिए नीचे दिया गया for लूप लिखा गया था:

poke_list = []

for pokemon,row in zip(names, stats):
    total_stats = np.sum(row)
    avg_stats = np.mean(row)
    poke_list.append((pokemon, total_stats, avg_stats))

यह अभ्यास पाठ्यक्रम का हिस्सा है

Efficient Python Code लिखना

पाठ्यक्रम देखें

अभ्यास निर्देश

  • ऊपर दिए गए for लूप को NumPy से बदलें:
    • .sum() मेथड और सही axis निर्दिष्ट करके total stats array (total_stats_np) बनाएँ.
    • .mean() मेथड और सही axis निर्दिष्ट करके average stats array (avg_stats_np) बनाएँ.
    • अंतिम आउटपुट सूची (poke_list_np) बनाएँ, जिसमें names सूची, total_stats_np array, और avg_stats_np array को मिलाएँ.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Create a total stats array
total_stats_np = ____.____(axis=____)

# Create an average stats array
avg_stats_np = ____

# Combine names, total_stats_np, and avg_stats_np into a list
poke_list_np = [*____(names, total_stats_np, avg_stats_np)]

print(poke_list_np == poke_list, '\n')
print(poke_list_np[:3])
print(poke_list[:3], '\n')
top_3 = sorted(poke_list_np, key=lambda x: x[1], reverse=True)[:3]
print('3 strongest Pokémon:\n{}'.format(top_3))
कोड संपादित करें और चलाएँ