[英]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.