サンプルからポケモンを数える
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)