关于Python元组解压缩的说明

萨克森

可以理解,仅在元组/列表之间可以进行元组的拆包,因此

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

已验证。但是,如果我们尝试对单个变量进行解压缩

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

因为x不是列表/元组,所以我们收到错误,因此无法进行拆包。如果是这种情况,那么我们如何使用* args在函数中具有多个参数

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

所以在这里,如果我叫max(1,2,3,4)。我们不应该出错吗,因为* args不是元组,因此我们无法解包?

奥涅米切尔

值得注意的是,参数列表的括号始终包含一个元组。它们是您不能忽略的括号因此,它们不会与操作员优先级括号混淆

顺便说一句,有趣的事:写(在x之后注意逗号)

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

然后它就起作用了,就像您需要在方括号中添加逗号以使其成为元组一样。像(1)不是元组,但是(1,)是

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章