始める無料で始める

データ保存のための namedtuple を作る

データを扱うとき、コードの可読性を上げてデータへアクセスしやすくするために、キー名が使える辞書を使うことがよくあります。Python には、各位置に名前が付いたタプルである namedtuple という別のコンテナがあります。これは、タプル型の名前とフィールド名のリストを渡して作成します。

たとえば、Cookie = namedtuple("Cookie", ['name', 'quantity']) はコンテナを作成し、Cookie('chocolate chip', 1) のように新しい要素を作れます。このとき、name 属性で名前に、quantity 属性で数量にアクセスできます。

この演習では、これまで使ってきたペンギンの体重ログのデータを、よりわかりやすいコードにするために namedtuple へ組み替えていきます。

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

Python のデータ型

コースを見る

演習の手順

  • collections から namedtuple をインポートします。
  • 型名を SpeciesDetails、フィールドを 'species''sex''body_mass' とする namedtuple SpeciesDetails を作成します。
  • labeled_entries という名前のリストを作成します。
  • weight_log リストを反復処理し、各要素を speciessexbody_mass にアンパックして、各エントリに対して SpeciesDetails の namedtuple インスタンスを作成し、それを labeled_entries に追加します。

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

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

# Import namedtuple from collections
from collections import ____

# Create the namedtuple: SpeciesDetails
SpeciesDetails = ____(____, ['species', 'sex', 'body_mass'])

# Create the empty list: labeled_entries
labeled_entries = []

# Iterate over the weight_log entries
for ____, ____, ____ in ____:
    # Append a new SpeciesDetails namedtuple instance for each entry to labeled_entries
    ____
    
print(labeled_entries[:5])
コードを編集して実行