Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #85217
| References | <CAPTjJmpqx1Cmm89Lg6-XL4-xdM+xD6=GHKvWb2zYTe4=11ZPPg@mail.gmail.com> <657497900.499606.1423060711538.JavaMail.yahoo@mail.yahoo.com> |
|---|---|
| Date | 2015-02-05 02:04 +1100 |
| Subject | Re: meaning of: line, = |
| From | Chris Angelico <rosuav@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.18465.1423062269.18130.python-list@python.org> (permalink) |
On Thu, Feb 5, 2015 at 1:38 AM, Albert-Jan Roskam <fomcl@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
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: meaning of: line, = Chris Angelico <rosuav@gmail.com> - 2015-02-05 02:04 +1100
csiph-web