在Python AST中,解压缩任务的目标何时是列表而不是元组?

在Python AST中,解压缩任务的目标何时是列表而不是元组?

问题描述:

根据GreenTreeSnakes documentation on Assignment statements在Python AST中,解压缩任务的目标何时是列表而不是元组?

作业。 targets是节点列表,而value是单个节点。

targets中的多个节点表示为每个节点分配相同的值。 拆箱是通过在targets内放置TupleList来表示的。

我的问题是,什么时候拆包将目标放在List中而不是Tuple?给出的例子解包成一个Tuple。

在任务,目标既可以是列表和元组:

a, b, c = value # assign to a tuple of names 
[a, b, c] = value # assign to a list of names 

不同的是化妆品到Python;请参阅Assignment statement reference documentation

演示:

>>> parseprint('[a, b, c] = value') 
Module(body=[ 
    Assign(targets=[ 
     List(elts=[ 
      Name(id='a', ctx=Store()), 
      Name(id='b', ctx=Store()), 
      Name(id='c', ctx=Store()), 
      ], ctx=Store()), 
     ], value=Name(id='value', ctx=Load())), 
    ])