namedtupleとは?

Pythonnamedtupleは、collectionsモジュールの一部で、通常のタプルに名前付きフィールドを追加することで、タプルの利便性を保ちながら可読性を高めたデータ構造です。

基本的な使い方

from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
pt = Point(1, 2)
print(pt.x, pt.y)  # 結果: 1 2

このように、namedtupleを使うことで、タプルの各要素に名前を与え、フィールド名でアクセスできるようになります。

利点と用途

  • 可読性向上: インデックスではなく名前でアクセスするため、コードが明確になります。
  • メモリ効率: 通常のタプルと同じメモリ効率で、辞書よりも軽量です。
  • イミュータブル: 通常のタプルと同様に不変(イミュータブル)です。

他の機能

  • _asdict(): namedtupleを辞書に変換することができます。
  • _replace(): フィールドを置き換えた新しいnamedtupleを作成します。

namedtupleは、特にクラスの代わりとして、フィールドの読み取り専用のデータ構造を作成したいときに便利です。データを整理しつつ、軽量で効率的なコードが書けます。