collections.namedtuple(typename, field_names, verbose=False, rename=False)
Returns a new tuple subclass named typename. The new subclass is used to create tuple-like objects that have fields accessible by attribute lookup as well as being indexable and iterable. Instances of the subclass also have a helpful docstring (with typename and field_names) and a helpful __repr__()
method which lists the tuple contents in a name=value
format.
The field_names are a single string with each fieldname separated by whitespace and/or commas, for example 'x y'
or 'x, y'
. Alternatively, field_names can be a sequence of strings such as ['x', 'y']
.
Any valid Python identifier may be used for a fieldname except for names starting with an underscore. Valid identifiers consist of letters, digits, and underscores but do not start with a digit or underscore and cannot be a keyword
such as class, for, return, global, pass, or raise.
If rename is true, invalid fieldnames are automatically replaced with positional names. For example, ['abc', 'def', 'ghi', 'abc']
is converted to ['abc', '_1', 'ghi', '_3']
, eliminating the keyword def
and the duplicate fieldname abc
.
If verbose is true, the class definition is printed after it is built. This option is outdated; instead, it is simpler to print the _source
attribute.
Named tuple instances do not have per-instance dictionaries, so they are lightweight and require no more memory than regular tuples.
Changed in version 3.1: Added support for rename.
Please login to continue.