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>"
arr
上调用reverse方法。arr.reverse
你需要实际调用它 -> 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.]