import numpy as np
arr = list(map(float,input().split()))
print(np.array(arr.reverse))
Run Code Online (Sandbox Code Playgroud)
为什么打印此内容而不是列表内容?
# outputs "<built-in method reverse of list object at 0x107eeeec8>"
Run Code Online (Sandbox Code Playgroud)
你有两个问题。
第一个问题是您实际上没有在数组上调用 reverse方法arr。
你有这个: arr.reverse
您必须实际调用它-> arr.reverse()
下面的简单示例:
>>> [1,2,3].reverse
<built-in method reverse of list object at 0x100662c68>
Run Code Online (Sandbox Code Playgroud)
如果不调用reverse,则得到的输出是list对象的未调用反向方法。这与您获得的输出非常相似。
您遇到的第二个问题是该reverse()方法在原位执行了反向操作,这意味着它对arr(会反转arr)执行反向操作并返回None。因此,当您通过此操作时:
np.array(arr.reverse())
Run Code Online (Sandbox Code Playgroud)
您正在返回返回arr.reverse()到你的np.array电话,这是None。
因此,通过调用arr.reverse()on 然后再通过修复这两个项目,arr将为您带来预期的结果:
import numpy as np
arr = list(map(float,input().split()))
arr.reverse()
res = np.array(arr)
print(res)
Run Code Online (Sandbox Code Playgroud)
演示:
1 2 3 4
[ 4. 3. 2. 1.]
Run Code Online (Sandbox Code Playgroud)