陣列的排序

2021-09-26 23:55:27 字數 1280 閱讀 6557

sort公升序,並會對原陣列產生影響

arr = np.array([9,1,10,2,8,6,7])

arr.sort()

print(arr) #[ 1 2 6 7 8 9 10]

預設按照最後乙個維度進行排序,可以進行設定axis

豎向排列資料如下:

arr =np.array([[9,1,10],[8,6,7]])

arr.sort(axis=0)

print(arr)

'''[[ 8 1 7]

[ 9 6 10]]'''

橫向排列資料如下:

arr =np.array([[9,1,10],[8,6,7]])

arr.sort(axis=1)

print(arr)

'''[[ 1 9 10]

[ 6 7 8]]'''

上面排序是公升序排序,而且會對原陣列產生影響

返回的是排序之後元素在原來位置的索引

res = arr.argsort()

print(res)

print(arr)

arr.sort()

print(arr)

'''[1 3 5 6 4 0 2]

[ 9 1 10 2 8 6 7]

[ 1 2 6 7 8 9 10]'''

lexsort()按照最後乙個陣列的規則來給自己排序

x = np.array([1,2,3,4,5])

y = np.array([2,1,0,3,5])

z = np.array([10,8,11,7,12])

print(np.argsort(z)) #[3 1 0 2 4]

res = np.lexsort([x,y,z]) #返回的是最後乙個的排序之後原來陣列的索引

print(res) #[3 1 0 2 4]

#以列表推導式的形式來獲取x 按照z排序規則進行排序,以z的規則對x進行排序

a = [x[i] for i in res]

print(a) #[4, 2, 1, 3, 5]

陣列的排序

程式的版權和版本宣告部分 檔名稱 array.cpp 作 者 李蒙 完成日期 2012 年12月2 日 版本號 v1.0 輸入描述 無 問題描述 冒泡法排列陣列 include using namespace std void bubble sort int a,int n void output ...

陣列的排序

問題描述 專案3 陣列的排序 1 編寫函式,完成氣泡排序 要求不能改變下面的main函式。程式 include include csdn學院 2016級 目的 讓 見證成長 作為乙個初學的菜鳥,如 檔名稱 myfun171.c 問題描述 刪除陣列元素 完成日期 2017年10月12日 兩個函式bub...

陣列的排序

var arr 1,3,6,8,10,3,4,9 var narr arr.reverse console.log narr 排序sort 方法按照公升序,sort 原理,呼叫每個陣列元素tostring 方法。所以排序字串陣列沒有問題,但是,var arr 1,3,68,8,10,3,4,9 va...