1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wydajny kod w Pythonie

Connected

ćwiczenie

Sumy i średnie Pokémonów bez pętli

Do sesji została wczytana lista 720 Pokémonów o nazwie names. Statystyki każdego Pokémona są zapisane w tablicy NumPy o nazwie stats. Każdy wiersz tablicy stats odpowiada jednemu Pokémonowi z listy names, a każda kolumna reprezentuje jedną statystykę (HP, Attack, Defense, Special Attack, Special Defense i Speed).

Chcesz zebrać łączną wartość statystyk każdego Pokémona (czyli sumę każdego wiersza tablicy stats) oraz średnią wartość statystyk (czyli średnią każdego wiersza tablicy stats), aby znaleźć najpotężniejszego Pokémona.

Poniższa pętla for została napisana w celu zebrania tych wartości:

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))

Instrukcje

100 XP
  • Zastąp powyższą pętlę for, korzystając z NumPy:
    • Utwórz tablicę sumy statystyk (total_stats_np), używając metody .sum() i podając właściwą oś.
    • Utwórz tablicę średnich statystyk (avg_stats_np), używając metody .mean() i podając właściwą oś.
    • Utwórz końcową listę wynikową (poke_list_np), łącząc listę names, tablicę total_stats_np i tablicę avg_stats_np.