如何 return Python 中的解压列表?
How to return an unpacked list in Python?
我正在尝试在 python 中做这样的事情:
def f():
b = ['c', 8]
return 1, 2, b*, 3
我想要 f
到 return 元组 (1, 2, 'c', 8, 3)
。我找到了一种使用 itertools
后跟 tuple
来做到这一点的方法,但这不是很好,我想知道是否存在一种优雅的方法来做到这一点。
解包运算符 *
出现在 [=14= 之前,而不是之后。
return (1, 2, *b, 3)
# ^ ^^ ^
但是,这只适用于Python 3.5+ (PEP 448),并且您还需要添加括号以防止语法错误。在旧版本中,使用 +
连接元组:
return (1, 2) + tuple(b) + (3,)
如果 b
已经是元组而不是列表,则不需要 tuple
调用:
def f():
b = ('c', 8)
return (1, 2) + b + (3,)
我正在尝试在 python 中做这样的事情:
def f():
b = ['c', 8]
return 1, 2, b*, 3
我想要 f
到 return 元组 (1, 2, 'c', 8, 3)
。我找到了一种使用 itertools
后跟 tuple
来做到这一点的方法,但这不是很好,我想知道是否存在一种优雅的方法来做到这一点。
解包运算符 *
出现在 [=14= 之前,而不是之后。
return (1, 2, *b, 3)
# ^ ^^ ^
但是,这只适用于Python 3.5+ (PEP 448),并且您还需要添加括号以防止语法错误。在旧版本中,使用 +
连接元组:
return (1, 2) + tuple(b) + (3,)
如果 b
已经是元组而不是列表,则不需要 tuple
调用:
def f():
b = ('c', 8)
return (1, 2) + b + (3,)