与numpy.array()中的列表一起传递时,为什么reverse()函数不起作用?

时间:2018-07-14 06:37:50

标签: python arrays list numpy reverse

我必须编写一个函数,该函数从列表中返回元素类型为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)

0 个答案:

没有答案