Standard Python tuples are lightweight sequences of immutable objects, yet their implementation may prove inconvenient in some scenarios.
Instead, the collections module provides an enhanced version of a tuple, namedtuple, that makes member access more natural (rather than using integer indexes).
Import namedtuple:
from collections import namedtupleCreate a namedtuple object:
point = namedtuple('3DPoint', 'x y z')A = point(x=3, y=5, z=6)print(A)# 3DPoint(x=3, y=5, z=6)Access a specific member:
print(A.x)# 3Because namedtuples are backwards compatible with normal tuples, member access can be also done with indexes:
print(A[0])# 3To convert a namedtuple to a dict (Actually an OrderedDict):
print(A._asdict())#OrderedDict([('x', 3), ('y', 5), ('z', 6)])