python 解包成多个可选变量
python unpack into multiple optional variables
在 Perl 中,我可以做到
($x1, $x2, $x3, $x4) = (1, 2)
则$x1和$x2为1; $x3 和 $x4 是 'undef'
Python有类似的东西吗
(x1, x2, x3, x4) = [1,2]
使得x1和x2为1; x3 和 x4 是 None?
我在上面试过了,Python 给我错误:
not enough values to unpack (expected 4, got 2)
我尝试使用 * 运算符进行可选的解包
(x1, x2, *x3, *x4) = [1,2]
但是*只能使用一次
感谢您的建议。
背景:右边的列表(数组)可以是1到4之间的任意长度。我用[1,2]来举例。
您可以添加一些 None
并将多余的扫到地毯下面(使用刷子符号 *
和地毯符号 _
:-):
x1, x2, x3, x4, *_ = lst + [None] * 4
在 Perl 中,我可以做到
($x1, $x2, $x3, $x4) = (1, 2)
则$x1和$x2为1; $x3 和 $x4 是 'undef'
Python有类似的东西吗
(x1, x2, x3, x4) = [1,2]
使得x1和x2为1; x3 和 x4 是 None?
我在上面试过了,Python 给我错误:
not enough values to unpack (expected 4, got 2)
我尝试使用 * 运算符进行可选的解包
(x1, x2, *x3, *x4) = [1,2]
但是*只能使用一次
感谢您的建议。
背景:右边的列表(数组)可以是1到4之间的任意长度。我用[1,2]来举例。
您可以添加一些 None
并将多余的扫到地毯下面(使用刷子符号 *
和地毯符号 _
:-):
x1, x2, x3, x4, *_ = lst + [None] * 4