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