В питоне есть namedtuple, тупл к полям которого можно обращаться привычным синтаксисом object.field
namedtuple лучше обычных туплов тем, что к полям тупла можно обращаться по имени, легко добавлять к типу новые поля и удалять.
namedtuple лучше словарей/объектов тем, что не расходуют память на имена полей в каждом объекте.
Использование такое:
( Read more...Collapse )
Померял сколько памяти занимает миллион пар-туплов, с несколькими вариантами - словари, объекты, обычные туплы.
( Read more...Collapse )
Вывод: namedtuple - хороший выбор по умолчанию для массивов однотипных объектов, если отказываться от синтаксиса object.field и от питона не хочется, а привязка к размеру и порядку полей в тупле вызывает тошноту и проблемы поддержки программы.