Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解包函数将值返回到一行中的单个值和元组_Python_Python 3.x - Fatal编程技术网

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

Python 解包函数将值返回到一行中的单个值和元组,python,python-3.x,Python,Python 3.x,我经常使用在元组中返回许多值的库函数: def f(): return "a", "b", "c", "d" 是否可以(在单个步骤中)解包第一个值,同时将其余值保留在元组中?即,这样做: ret = f() a, b_to_d = ret[0], ret[1:] 但是在一行中。是,使用下面的*语法: >>> def f(): ... return 1,2,3,4 ... >>

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

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)

是,使用下面的
*
语法:

>>> 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)