我必须编写一个函数,该函数从列表中返回元素类型为float
的反向Numpy数组。
>>>myList = [1, 2, 3, 4, 5]
>>>myList
[1, 2, 3, 4, 5]
我使用了reverse()
函数,同时将列表传递给numpy.array()
函数,如下所示:
>>>def arrays(someList):
return numpy.array(someList.reverse(), float)
但这会返回一个空数组:
>>>arrays(myList)
array(nan)
但是,如果我在通过列表之前使用reverse()
反转列表,则可以正常工作。
>>>def arrays(someList):
someList.reverse()
return numpy.array(someList, float)
>>>arrays(myList)
array([5., 4., 3., 2., 1.])
相反,如果我使用list[::-1]
技术在与第一次使用reverse()
函数相同的位置处反转列表,则它就像一种魅力。
>>>def arrays(someList):
return numpy.array(someList[::-1] , float)
>>>arrays(myList)
array([5., 4., 3., 2., 1.])
尽管我的代码可以正常工作,但我想了解为什么使用reverse()
的第一种方法不能与numpy.array()
函数一起使用。
谢谢!
编辑1:对不起,我的意思是numpy.array(someList.reverse(), float)
,而不是`numpy.array(someList,reverse(),float)