编写一个函数,根据现有列表创建一个float64类型的numpy数组
import numpy as np
def solution(lst):
arr = #your code here
return arr
我尝试了很多方法:
将numpy导入为np
def solution(lst):
arr = np.array(lst)
arr = lst.astype(np.float64)
return arr
import numpy as np
def solution(lst):
arr = np.array(lst)
arr = np.astype(np.float64)
return arr
1条答案
按热度按时间roejwanj1#
一个好的问题应该有一个最小的测试用例,并显示您在各种尝试中得到的错误。
定义一个小列表:
以及您的两次尝试(注意
return
的正确缩进):第一次尝试:
astype
是一个ndarray
的方法(如我的评论中的doc链接所示)。list
没有这样的方法。在python中,每个类都有一个定义的methods
集合。仅仅因为一个类有这样的方法,并不意味着另一个类也有同样的方法。对于第二个:
你又创建了一个
arr
,但是你尝试使用astype
作为np
函数,你根本没有在那一行中指定arr
。从列表中创建数组:
在此列表中,数据类型为int:
生成的数组具有
astype
方法:但是
np.array
也接受dtype
参数:如果你的列表包含浮点数,你不需要任何进一步的转换:
换句话说,你应该简单地写: