On Jan 14, 8:07 pm, aspineux <[EMAIL PROTECTED]> wrote:
> On Jan 14, 7:49 pm, "Chris Mellon" <[EMAIL PROTECTED]> wrote:
>
> > On Jan 14, 2008 12:39 PM, aspineux <[EMAIL PROTECTED]> wrote:
>
> > > This append in both case
>
> > > dict(a=1).get('a', f())
> > > dict(a=1).setdefault('a', f())
>
> > > This should be nice if f() was called only if required.
>
> > Think about the change to Python semantics that would be required for
> > this to be true, and then use collections.defaultdict instead.
>
> Yes, I missed 'get' and 'setdefault' are functions :-)
> Then why not some new semantic
>
> d.get('a', f())     --> d['a', f()]
> d.setdefault('a', f()) --> d['a'=f()]
>
> Is is a good idea enough to change the python semantic ?
> Or simply is it a good idea ?

Thanks for all your answers.

Anyway these notations are very compact,
don't require the definition of a specific function,
and work with old style/or already existing dictionary,
dictionary you didn't created yourself.

While the use of defaultdict require the definition of such a function
and to control the creation of the dictionary.

For me the best alternative that match the requirement above is
the one provided by Paul Rubin.


Regards.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to