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