本文主要是介绍已解决TypeError: array() takes from 1 to 2 positional arguments but 4 were given,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
报错截图
从报错信息来看,np.array
函数只需要1-2个位置参数,但实际上给定了4个。
报错原因分析
np.array
函数的参数列表如下所示:
def array(p_object, dtype=None, *args, **kwargs):
参数列表中,有位置参数p_object,有默认参数dtype。因此,当传入参数1,2,3,4时,传递给p_obejct的是1,传递给dtype的是2,多出来的位置参数3和4便是出现上面报错的原因。
实际上,当传递给dtype的是2时,应该也会出现参数类型错误。之所以出现上图报错,是因为判断参数数量是否传递正确的优先级比判断参数类型是否正确的优先级要高。
我们可以将代码进行修改,去掉3和4,保留1,2。即a = np.array(1,2,3,4)
—> a = np.array(1,2)
。果然,出现了参数类型错误,报错截图如下:
解决方案
以上两个报错,都是由于为np.array
函数传递了错误的参数造成的。我们只需要用[1,2,3,4]
取代1,2,3,4
即可,即:
import numpy as npa = np.array([1,2,3,4])
a = np.array([1,2,3,4], dtype=np.int32)
结束语
如果本博文对你有所帮助/启发,可以点个赞/收藏支持一下,如果能够持续关注,小编感激不尽~
如果有相关需求/问题需要小编帮助,欢迎私信~
小编会坚持创作,持续优化博文质量,给读者带来更好de阅读体验~
这篇关于已解决TypeError: array() takes from 1 to 2 positional arguments but 4 were given的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!