You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用scipy.optimize.brute遇TypeError:slice对象无len()方法的解决

解决scipy.optimize.brute的TypeError: object of type 'slice' has no len()错误

这个问题细节较为隐晦,仅在Stack Overflow某篇回答中偶然找到解决方案,直接搜索该特定错误可能无法定位到相关内容。

原代码及报错

原代码如下:

from scipy.optimize import brute

f = lambda x : x
ranges = ( slice(-10,10,1) )
result = brute( f, ranges, full_output=True, finish=optimize.fmin )
print( result[1] )

运行时触发错误:

TypeError: object of type 'slice' has no len()

修正方案

修正后的代码仅在定义ranges的元组中多添加一个逗号:

from scipy.optimize import brute

f = lambda x : x
ranges = ( slice(-10,10,1), )
result = brute( f, ranges, full_output=True, finish=optimize.fmin )
print( result[1] )

运行输出为:

-6.33825300114115e+29

额外说明

关于输出结果远小于-10的问题,可参考另一篇Stack Overflow帖子。

内容的提问来源于stack exchange,提问作者elscan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:42:33