繁体   English   中英

TypeError:只能将元组(不是“列表”)连接到元组

[英]TypeError: can only concatenate tuple (not “list”) to tuple

我正在尝试运行代码optimize.py(scipy包的一部分),它给了我这个错误:

TypeError:只能将元组(不是“列表”)连接到元组

产生错误的代码部分粘贴在下面-

def wrap_function(function, args):
    ncalls = [0]
    if function is None:
        return ncalls, None

    def function_wrapper(*wrapper_args):
        ncalls[0] += 1
        return function(*(wrapper_args + args))

    return ncalls, function_wrapper

您能否指出他们试图将元组连接到列表的位置,以及如何对其进行修复?

如有必要,我将提供更多代码-我几乎不了解在此处发布问题的知识,因此,我仅将一小部分粘贴到发生错误的地方。

该代码用于运行命令“ keptransit”以找到正在飞越的系外行星。

您很可能将一个列表作为args传递,并尝试连接到wrapper_args这是一个元组。

因此,将args强制转换为元组,或者简单地将args传递给元组。

 wrapper_args + tuple(args)

*wrapper_args创建一个传入参数的元组,因此出于显而易见的原因, tuple() + list()无法正常工作

我认为问题是这样的:

wrapper_args + args

我假设wrapper_args是一个元组,而args是一个列表。 因此,例如:

wrapper_args = (1,2,3)
arg = [1,2,3]

wrapper_args + arg # TypeError: can only concatenate list (not "tuple") to list

解:

wrapper_args + tuple(arg)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM