Python打印“<内置方法=”“... =”“对象”=“”而不是“”“=”“列表

时间:2016-10-12 00:51:37

标签: python printing

=”“
 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>"

1 个答案:

答案 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.]