wie kann ich Felder hinzufügen, um eine namedtuple?

Ich arbeite mit einer Liste von namedtuples. Ich möchte ein Feld hinzufügen, jede benannte Tupel, nachdem es bereits erstellt worden. Es scheint, ich kann dies tun, indem Sie einfach auf Sie verweisen als Attribut (wie in namedtuple.attribute = 'foo'), aber dann ist es nicht Hinzugefügt, um die Liste der Felder. Gibt es einen Grund, warum sollte ich das nicht tun es auf diese Weise, wenn ich nichts mit der Liste Felder? Gibt es einen besseren Weg, um ein Feld hinzuzufügen?

>>> from collections import namedtuple
>>> result = namedtuple('Result',['x','y'])
>>> result.x = 5
>>> result.y = 6
>>> (result.x, result.y)
(5, 6)
>>> result.description = 'point'
>>> (result.x, result.y, result.description)
(5, 6, 'point')
>>> result._fields
('x', 'y')
Und warum verwenden Sie nicht nur dict? dict.Schlüssel sicher hinterlegt haben, 'Felder'.

InformationsquelleAutor rudivonstaden | 2013-03-10

Schreibe einen Kommentar