始める無料で始める

サンプルからポケモンを数える

500体のポケモンのサンプルが作成され、このサンプルから3つのリストがセッションに読み込まれています。

  • names リストには、サンプル内の各ポケモンの名前が入っています。
  • primary_types リストには、サンプル内の各ポケモンの対応する「主要」タイプが入っています。
  • generations リストには、サンプル内の各ポケモンの対応する「世代」が入っています。

このサンプルを理解するために、これらのリストからいくつかの件数をすばやく集計したいとします。collections モジュールの Counter を使って、サンプルにどのタイプのポケモンがいるか、どの世代に属するか、また特定の文字で始まる名前のポケモンが何体いるかを調べてください。

Counter はすでにセッションにインポート済みです。

この演習はコースの一部です

効率的なPythonコードの書き方

コースを見る

演習の手順

  • サンプルから各主要タイプの件数を集計します。
  • サンプルから各世代の件数を集計します。
  • リスト内包表記を使って、names リストの各ポケモン名の先頭文字を取得し、starting_letters として保存します。
  • starting_letters リストから先頭文字の件数を集計し、starting_letters_count として保存します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Collect the count of primary types
type_count = Counter(____)
print(type_count, '\n')

# Collect the count of generations
gen_count = ____(____)
print(gen_count, '\n')

# Use list comprehension to get each Pokémon's starting letter
starting_letters = [name[0] for ____ in ____]

# Collect the count of Pokémon for each starting_letter
starting_letters_count = ____(____)
print(starting_letters_count)
コードを編集して実行