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>"发布于 2016-10-12 08:56:18
你有两个问题。
第一个问题是,您实际上并没有在数组arr上调用反向方法。
你有这个: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.]https://stackoverflow.com/questions/39988898
复制相似问题