import numpy as np arr = list(map(float,input().split())) print(np.array(arr.reverse))
为什么打印这个而不是列表的内容?
# outputs "<built-in method reverse of list object at 0x107eeeec8>"
答案 0 :(得分:4)
你有两个问题。
第一个问题是你实际上并没有在数组arr
上调用反向方法。
你有这个:arr.reverse
你必须实际调用它 - &gt; arr.reverse()
以下简单示例:
>>> [1,2,3].reverse
<built-in method reverse of list object at 0x100662c68>
不调用reverse
,您获得的输出是list
对象的未调用反向方法。这与你得到的输出非常相似。
你遇到的第二个问题是reverse()
方法反向到位,这意味着它在arr
上执行反向(你的arr将被反转)并返回None
。所以,当你传递这个时:
np.array(arr.reverse())
您将arr.reverse()
返回np.array
来电,None
。
因此,通过在其上打开arr.reverse()
,然后然后传递arr
来修复这两个项目,将为您提供您期望的结果:
import numpy as np
arr = list(map(float,input().split()))
arr.reverse()
res = np.array(arr)
print(res)
演示:
1 2 3 4
[ 4. 3. 2. 1.]