How to cast tuple into namedtuple?
I'd like to use namedtuples internally, but I want to preserve compatibility with users that feed me a ordinary tuple. from collections import namedtuple tuplePi=(1,3.14,"pi") #Normal tuple Record=namedtuple("MyNamedTuple", ["ID", "Value", "Name"]) namedE=Record(2, 2.79, "e") #Named tuple namedPi=Record(tuplePi) #Error TypeError: __new__() missing 2 required positional arguments: 'Value' and 'Name' tuplePi.__class__=Record TypeError: __class__ assignment: only for heap types You can use the *args call syntax: namedPi = Record(*tuplePi) This passes in each element of the tuplePi sequence as a