Python 3.0 - is this true?
George Sakkis
george.sakkis at gmail.com
Mon Nov 10 11:05:40 EST 2008
On Nov 10, 4:10 am, "Martin v. Löwis" <mar... at v.loewis.de> wrote:
> Roy Smith wrote:
> > Your
> > choice of containers is not based on any theoretical arguments of what each
> > type was intended to represent, but the cold hard reality of what
> > operations they support.
>
> Right. What seems missing is a "frozen list" type - the list needs to be
> frozen in order to be used as a dictionary key (or any other lookup
> structure). Fortunately, as you say, tuples already fill that role, so
> one could write
>
> frozenlist = tuple
> ...
> sequence = frozenlist(items)
> d[sequence] = d.get(sequence,0)+1
>
> to make it explicit that here, the tuple has a different role.
If list grew a frozenlist superclass (just move up all the non-
mutating methods of list) and had a new freeze method, there would be
no need to copy the sequence:
def freeze(self):
self.__class__ = frozenlist
George
More information about the Python-list
mailing list