In article 
<CAPTjJmoZHLfT3G4eqV+=zcvbpf65fkcmah9h_8p162uha7f...@mail.gmail.com>,
 Chris Angelico <ros...@gmail.com> wrote:

> On Mon, Jul 14, 2014 at 12:04 AM, Jason R. Coombs <jar...@jaraco.com> wrote:
> > I can achieve what I need by constructing a set on the ‘items’ of the 
> > dict.
> >
> >>>> set(tuple(doc.items()) for doc in res)
> >
> > {(('n', 1), ('err', None), ('ok', 1.0))}
> 
> This is flawed; the tuple-of-tuples depends on iteration order, which
> may vary. It should be a frozenset of those tuples, not a tuple. Which
> strengthens your case; it's that easy to get it wrong in the absence
> of an actual frozendict.

I would love to see frozendict in python.

I find myself using dicts for translation tables, usually tables that 
should not be modified. Documentation usually suffices to get that idea 
across, but it's not ideal.

frozendict would also be handy as a default values for function 
arguments. In that case documentation isn't enough and one has to resort 
to using a default value of None and then changing it in the function 
body.

I like frozendict because I feel it is expressive and adds some safety. 

-- Russell

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to