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

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

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

11
Как мне избежать «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 ... довольно часто, часто с гораздо большим количеством параметров. Есть ли хороший способ избежать такого утомительного повторения? Должен ли класс наследовать от namedtuple?

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

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

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

10
Добавление строк документации к именованным кортежам?
Можно ли легко добавить строку документации в именованный набор? Я старался from collections import namedtuple Point = namedtuple("Point", ["x", "y"]) """ A point in 2D space """ # Yet another test """ A(nother) point in 2D space """ Point2 = namedtuple("Point2", ["x", "y"]) print Point.__doc__ # -> "Point(x, y)" print …

11
Сериализация Python namedtuple в json
Каков рекомендуемый способ сериализации a namedtupleв json с сохранением имен полей? Сериализация a namedtupleв json приводит к сериализации только значений, а имена полей теряются при переводе. Я хотел бы, чтобы поля также сохранялись при json-ized и, следовательно, сделал следующее: class foobar(namedtuple('f', 'foo, bar')): __slots__ = () def __iter__(self): yield self._asdict() …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.