如何将元组转换为命名元组?

11 浏览
0 Comments

如何将元组转换为命名元组?

我想在内部使用命名元组,但我希望保持与使用普通元组的用户的兼容性。

从collections模块导入命名元组

tuple_pi = (1, 3.14, "pi") #普通元组

Record = namedtuple("Record", ["ID", "Value", "Name"])

named_e = Record(2, 2.79, "e") #命名元组

named_pi = Record(tuple_pi) #错误

TypeError: __new__()缺少2个必需的位置参数:'Value'和'Name'

tuple_pi.__class__ = Record

TypeError: __class__赋值:仅适用于堆类型

0