У меня есть следующий именованный кортеж:
from collections import namedtuple
ReadElement = namedtuple('ReadElement', 'address value')
а затем я хочу следующее:
LookupElement = namedtuple('LookupElement', 'address value lookups')
Существует дублирование между двумя именами, как я могу подклассифицировать ReadElement для добавления дополнительного поля?
class LookupElement(ReadElement):
def __new__(self, address, value, lookups):
self = super(LookupElement, self).__new__(address, value)
l = list(self)
l.append(lookups)
return tuple(l)
Однако кортеж создается там тогда в операторе new, если я изменяю себя как список, я потеряю информацию о типе, как я могу избежать этого?