我有一個巨大的data = np.array([1000, 2500, 1400, 1800, 900, 4200, 2200, 1900, 3500]). 我需要附加用戶輸入并對資料進行排序。
import numpy as np
data = np.array([1000, 2500, 1400, 1800, 900, 4200, 2200, 1900, 3500])
new_data = input()
data = np.append(data, new_data)
data = np.sort(data)
print(data)
沒有附加我有正常的排序陣列,但是當我使用它時我有
['1000' '1400' '1800' '1900' '2200' '2500' '3500' '4200' '654' '900']
我注意到 xxx 號碼出現在串列的末尾。xxxx 數字作為輸入出現在它應該出現的位置
['1000' '1400' '1800' '1900' '2200' '2222' '2500' '3500' '4200' '900']
uj5u.com熱心網友回復:
的資料型別Input()是字串。這就是為什么當您將它附加到陣列時,它會將每個元素視為一個字串,并按第一個字母和后續字母對它們進行排序。
檢查之前和之后的資料型別 -
#BEFORE APPENDING -
>>type(data[3])
numpy.int64
#AFTER APPENDING -
>>type(data[3])
numpy.str_
相反,將輸入轉換為int或float首先 -
import numpy as np
data = np.array([1000, 2500, 1400, 1800, 900, 4200, 2200, 1900, 3500])
new_data = int(input()) #<---- Look here!
data = np.append(data, new_data)
data = np.sort(data)
print(data)
2222
[ 900 1000 1400 1800 1900 2200 2222 2500 3500 4200]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/334203.html
標籤:麻木
