关于 Python 元组解包的说明
Clarifications on Python tuple unpacking
据了解,元组的解包只能发生在 tuples/list 之间
所以
x,*y = (1,2,3,4)
有效。但是,如果我们尝试对单个变量进行解包
*x = (1,2,3,4,5)
我们得到一个错误,因为 x 不是 list/tuple,因此无法进行解包。如果是这样的话
我们如何使用 *args 在 function
中有多个参数
def max(* args):
for x in args:
print(x)
所以这里如果我调用 max(1,2,3,4)。我们不应该得到一个错误,因为 *args 不是一个元组,因此我们不能解包吗?
要注意的是 参数列表 的括号总是包含一个元组。
它们是您不能省略的括号。所以它们不会与 operator-priority-brackets
混淆
顺便说一句,有趣的事实:
写(注意 x 后面的逗号)
*x, = (1,2,3,4,5)
然后它就可以工作了,就像您需要在括号中添加一个逗号以使其成为一个元组一样。
像 (1) 不是元组,但是 (1,) 是
据了解,元组的解包只能发生在 tuples/list 之间 所以
x,*y = (1,2,3,4)
有效。但是,如果我们尝试对单个变量进行解包
*x = (1,2,3,4,5)
我们得到一个错误,因为 x 不是 list/tuple,因此无法进行解包。如果是这样的话 我们如何使用 *args 在 function
中有多个参数def max(* args):
for x in args:
print(x)
所以这里如果我调用 max(1,2,3,4)。我们不应该得到一个错误,因为 *args 不是一个元组,因此我们不能解包吗?
要注意的是 参数列表 的括号总是包含一个元组。 它们是您不能省略的括号。所以它们不会与 operator-priority-brackets
混淆顺便说一句,有趣的事实: 写(注意 x 后面的逗号)
*x, = (1,2,3,4,5)
然后它就可以工作了,就像您需要在括号中添加一个逗号以使其成为一个元组一样。 像 (1) 不是元组,但是 (1,) 是