On Thu, Feb 5, 2015 at 1:38 AM, Albert-Jan Roskam <fo...@yahoo.com> wrote: > I have also never seen this before, but perhaps this: > >>>> f = lambda: [42] >>>> result, = f() >>>> result > 42 > > ... is slightly cleaner than this: >>>> result = f()[0] >>>> result > 42
They're not technically identical. If the thing returned is subscriptable (as with your list example), then I would definitely subscript it rather than unpacking; but if it's something iterable but not subscriptable, the unpack will still work. >>> def f(): yield 42 ... >>> result, = f() >>> result 42 >>> result = f()[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'generator' object is not subscriptable ChrisA -- https://mail.python.org/mailman/listinfo/python-list