关于Python元组解包的说明

问题描述 投票:0回答:1

据了解,一个元组的解包只能发生在元组列表之间,所以

x,*y = (1,2,3,4)

是有效的。然而,如果我们尝试对一个变量进行解包

*x = (1,2,3,4,5)

我们得到一个错误,因为x不是一个listtuple,所以不能进行解包。如果是这样的话,那么我们如何使用*args来在函数

def max(* args):
  for x in args:
    print(x)

所以在这里,如果我调用max(1,2,3,4),我们是否应该得到一个错误,因为*args不是元组,所以我们不能进行解包?我们是不是应该得到一个错误,因为*args不是一个元组,所以我们不能进行解包?

python-3.x iterable-unpacking
1个回答
3
投票

问题是,a的括号里有一个"..."。参数表 它们是你的括号。不能不. 因此,它们不会与操作者优先级括号混为一谈。

顺便说一下,有趣的事实:写(注意x后面的逗号)。

*x, = (1,2,3,4,5)

那么它的工作原理,就像你会neet在括号里加一个逗号使它成为一个元组.就像(1)不是元组,但(1,)是

© www.soinside.com 2019 - 2024. All rights reserved.