Вопросы с тегом «namedtuple»

907
Что такое «именованные кортежи» в Python?

Читая изменения в Python 3.1 , я обнаружил кое-что ... неожиданное: Кортеж sys.version_info теперь является именованным кортежем : Я никогда не слышал об именованных кортежах раньше, и я думал, что элементы могут быть проиндексированы либо по номерам (как в кортежах и списках), либо по ключам (как...

300
namedtuple и значения по умолчанию для необязательных аргументов ключевых слов

Я пытаюсь преобразовать длинный полый класс данных в именованный кортеж. Мой класс в настоящее время выглядит так: class Node(object): def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = right После конвертации namedtupleэто выглядит так: from collections...

170
Как мне избежать «self.x = x; self.y = y; шаблон self.z = z ”в __init__?

Я вижу такие шаблоны, как def __init__(self, x, y, z): ... self.x = x self.y = y self.z = z ... довольно часто, часто с гораздо большим количеством параметров. Есть ли хороший способ избежать такого утомительного повторения? Должен ли класс наследовать от...

148
Преобразовать именованный кортеж в словарь

У меня есть названный класс кортежа в Python class Town(collections.namedtuple('Town', [ 'name', 'population', 'coordinates', 'population', 'capital', 'state_bird'])): # ... Я хотел бы преобразовать экземпляры Town в словари. Я не хочу, чтобы он был жестко привязан к именам или количеству полей в...

127
Введите подсказки в namedtuple

Рассмотрим следующий фрагмент кода: from collections import namedtuple point = namedtuple("Point", ("x:int", "y:int")) Приведенный выше код - это всего лишь способ продемонстрировать, чего я пытаюсь достичь. Я хотел бы сделать namedtupleс подсказками типа. Знаете ли вы какой-нибудь изящный способ...

121
Существование изменяемого именованного кортежа в Python?

Кто-нибудь может изменить namedtuple или предоставить альтернативный класс, чтобы он работал с изменяемыми объектами? В первую очередь для удобства чтения я хотел бы что-то похожее на namedtuple, которое делает это: from Camelot import namedgroup Point = namedgroup('Point', ['x', 'y']) p = Point(0,...

87
Сериализация Python namedtuple в json

Каков рекомендуемый способ сериализации a namedtupleв json с сохранением имен полей? Сериализация a namedtupleв json приводит к сериализации только значений, а имена полей теряются при переводе. Я хотел бы, чтобы поля также сохранялись при json-ized и, следовательно, сделал следующее: class...