On 03/06/2013 09:05 PM, DoanVietTrungAtGmail wrote:
Once a csv file has been read by a csv reader (such as DictReader), it's
no longer a csv file.
That was an "Aha!" moment for me. The file is on disk, each row of it is in
memory as a list or dict, and it's the list or dict that matters. It's so
obvious now. Thanks Dave.
a namedtuple is probably exactly what you want.
I read this as meaning that while tuples themselves are immutable, to
effectively modify it I simply delete it and replace it with a new tuple
with new values. Another 'Aha!'
A collections.namedtuple is not the same as a tuple. The items in it
can be addressed either by index, or by name. But each instance of the
tuple does *not* waste space duplicating those names. The names are
stored once per type of namedtuple
http://docs.python.org/2/library/collections.html#collections.namedtuple
Look at the example following the comment:
""" Named tuples are especially useful for assigning field names to
result tuples returned by the csv or sqlite3 modules:"
And an instance created through collections.namedtuple has a useful method:
somenamedtuple._replace(kwargs)
Return a new instance of the named tuple replacing specified fields with
new values:
--
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor