解包函数在一行中返回单个值和元组的值



我经常使用库函数,这些函数在元组中返回许多值:

def f():
return "a", "b", "c", "d"

是否可以(在一个步骤中(解压缩第一个值,同时将其余值保留在元组中?即:这样做:

ret = f()
a, b_to_d = ret[0], ret[1:]

但是在一行中。

是,使用以下*语法:

>>> def f():
...  return 1,2,3,4
...
>>> a,*b = f()
>>> a
1
>>> b
[2, 3, 4]
>>> a,*b,c = f()  # * can be used in other positions, too
>>> a,b,c
(1, [2, 3], 4)

最新更新