由于 Python 中的可变长度可选参数 (*args) 而出错 2

Error because of variable length optionals arguments (*args) in Python 2

我正在尝试 运行 低于 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 中的所有元素。此语法称为 iterable unpacking and was first added to 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))