Python 2中的可变长度可选参数(*args)导致错误



我试图在python 2中运行以下代码,但出现无效语法错误。

columns = ["col1"]
funcs = val_to_list(funcs)
exprs = []
for col_name in columns:
for func in funcs:
exprs.append((func, (col_name, *args)))

我从Python 3项目中获得了这段代码,但我想让它在Python 2中工作。我试过几种组合,但都没用。请帮忙!

(col_name, *args)创建一个新的元组,其中col_name是第一个元素,后面是args中的所有元素。此语法称为可迭代拆包,最初添加到Python 3.5中。

只需通过连接创建元组:

t =  (col_name,) + args  # assuming args is a tuple too
exprs.append((func, t))

如果args本身还不是元组,则将其转换为

t =  (col_name,) + tuple(args)  # works with any iterable.
exprs.append((func, t))

最新更新