1
import numpy as np
arr = list(map(float,input().split()))
print(np.array(arr.reverse))
爲什麼打印這個而不是列表的內容?Python打印「<內置方法...對象」而不是列表
# outputs "<built-in method reverse of list object at 0x107eeeec8>"
import numpy as np
arr = list(map(float,input().split()))
print(np.array(arr.reverse))
爲什麼打印這個而不是列表的內容?Python打印「<內置方法...對象」而不是列表
# outputs "<built-in method reverse of list object at 0x107eeeec8>"
您有兩個問題。
第一個問題是,你實際上並不是,而是在你的數組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.]