为什么Python中的星号解包会给出一个列表

3
我很好奇为什么使用Python3的星号拆包返回一个列表实例,而不是元组(函数参数中的星号返回元组)。这是否是Python的特殊之处,还是有一个很好的原因。
In [1]: def foo(*args):
   ...:     print(type(args))
   ...:     

In [2]: foo(1, 2, 3, 4)
<class 'tuple'>

In [3]: first, *rest = (1, 2, 3, 4)

In [4]: type(rest)
Out[4]: list
1个回答

3

他们认为使用列表更易处理:

在 python-3000 列表上进行了短暂的讨论[1],Guido 在其当前形式下接受了该 PEP。可能讨论的更改包括:

  • ...
  • 将星号目标更改为元组而不是列表。这与函数的 *args 一致,但会使结果的进一步处理更加困难。

似乎有点随机。谢谢回答。 - skgbanga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接