beginner <[EMAIL PROTECTED]> wrote:
>  On Aug 16, 5:43 pm, [EMAIL PROTECTED] (Lawrence Oluyede) wrote:
> > beginner <[EMAIL PROTECTED]> wrote:
> > > I'd like to do the following in more succint code:
> >
> > > if k in b:
> > >     a=b[k]
> > > else:
> > >     a={}
> > >     b[k]=a
> >
> > b.setdefault(k, a)
> >
> 
>  I am afraid it is not the same. b.setdefault(k, {}) will always create
>  an empty dict, even if k is in b

That is certainly true, but does it matter?  You waste a very small
amount of time creating a dict you don't use.

  $ python -m timeit '{}'
  1000000 loops, best of 3: 0.247 usec per loop

On my machine 250 ns gets you a new dict...

-- 
Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to