meaning of: line, =

Ian Kelly ian.g.kelly at gmail.com
Thu Feb 5 11:08:30 EST 2015


On Thu, Feb 5, 2015 at 2:40 AM, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:
> Devin Jeanpierre wrote:
>
>> On Wed, Feb 4, 2015 at 1:18 PM, Chris Angelico <rosuav at gmail.com> wrote:
>>> On Thu, Feb 5, 2015 at 4:36 AM, Peter Otten <__peter__ at web.de> wrote:
>>>> Another alternative is to put a list literal on the lefthand side:
>>>>
>>>>>>> def f(): yield 42
>>>>
>>>> ...
>>>>>>> [result] = f()
>>>>>>> result
>>>> 42
>>>
>>> Huh, was not aware of that alternate syntax.
>>
>> Nor are most people. Nor is Python, in some places -- it seems like
>> people forgot about it when writing some bits of the grammar.
>
> Got an example where you can use a,b but not [a,b] or (a,b)?

>>> def f(a, (b, c)):
...     print a, b, c
...
>>> f(3, [4, 5])
3 4 5
>>> def g(a, [b, c]):
  File "<stdin>", line 1
    def g(a, [b, c]):
             ^
SyntaxError: invalid syntax

Although to be fair, the first syntax there is no longer valid either
in Python 3.



More information about the Python-list mailing list