如何在Python中返回一个解压缩的列表?
问题描述:
我试图做这样的事情在python:如何在Python中返回一个解压缩的列表?
def f():
b = ['c', 8]
return 1, 2, b*, 3
,我想f
返回元组(1, 2, 'c', 8, 3)
。我找到了一种方法来使用itertools
然后tuple
,但这不是很好,我想知道是否存在一个优雅的方式来做到这一点。
答
拆包运营商*
出现在b
之前,而不是之后。
return (1, 2, *b, 3)
# ^ ^^ ^
然而,这只会在Python的工作3.5+(PEP 448),并且还需要添加括号以防止SyntaxError错误。在旧版本中,使用+
来连接的元组:
return (1, 2) + tuple(b) + (3,)
你不需要tuple
呼叫如果b
已经是一个元组,而不是一个列表:
def f():
b = ('c', 8)
return (1, 2) + b + (3,)