㈠ python學習小技巧之列表項的排序
Python學習小技巧之列表項的排序
本文介紹的是關於Python列表項排序的相關內容,分享出來供大家參考學習,下面來看看詳細的介紹:
典型代碼1:
data_list = [6, 9, 1, 3, 0, 10, 100, -100]
data_list.sort()
print(data_list)
輸出1:
[-100, 0, 1, 3, 6, 9, 10, 100]
典型代碼2:
data_list = [6, 9, 1, 3, 0, 10, 100, -100]
data_list_ = sorted(data_list)
print(data_list)
print(data_list_)
輸出2:
[6, 9, 1, 3, 0, 10, 100, -100]
[-100, 0, 1, 3, 6, 9, 10, 100]
應用場景
需要對列表中的項進行排序時使用。其中典型代碼1是使用的列表自身的一個排序方法sort,這個方法自動按照升序排序,並且是原地排序,被排序的列表本身會被修改;典型代碼2是調用的內置函數sort,會產生一個新的經過排序後的列表對象,原列表不受影響。這兩種方式接受的參數幾乎是一樣的,他們都接受一個key參數,這個參數用來指定用對象的哪一部分為排序的依據:
data_list = [(0, 100), (77, 34), (55, 97)]
data_list.sort(key=lambda x: x[1]) # 我們想要基於列表項的第二個數進行排序
print(data_list)
>>> [(77, 34), (55, 97), (0, 100)]
另外一個經常使用的參數是reverse,用來指定是否按照倒序排序,默認為False:
data_list = [(0, 100), (77, 34), (55, 97)]
data_list.sort(key=lambda x: x[1], reverse=True) # 我們想要基於列表項的第二個數進行排序,並倒序
print(data_list)
>>> [(0, 100), (55, 97), (77, 34)]
帶來的好處
1. 內置的排序方法,執行效率高,表達能力強,使代碼更加緊湊,已讀
2. 靈活的參數,用於指定排序的基準,比在類似於Java的語言中需要寫一個comparator要方便很多
其它說明
1. sorted內置函數比列表的sort方法要適用范圍更廣泛,它可以對除列表之外的可迭代數據結構進行排序;
2. list內置的sort方法,屬於原地排序,理論上能夠節省內存的消耗;
總結
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助
㈡ 怎樣在python上實現冒泡排序整數數組結果升序輸出
升序排序,就是通過比較前後相鄰兩個數的大小,將小的放前面,大的放後面。小的就相當於那個泡沫,就升上去了,故此得名冒泡排序
㈢ python讓數字按升序排序的方法有哪些
sort 和sorted這兩方法,區別在於sorted排序後會有一個返回值
㈣ 用python對10個數進行排序
sort_values(by,axis=0,ascending=True,inplace=False,kind='quicksort',na_position='last')
by:可以填入字元串或者字元串組成的列表。也就是說,如果axis=0,那麼by="列名";如果axis=1,那麼by="行名"。
axis:{0 or 『index』, 1 or 『columns』}, default 0,意思就是如果axis=0,就按照索引排序,即縱向排序;如果axis=1,則按列排序,即橫向排序。默認是axis=0。
ascending:輸入布爾型,True是升序,False是降序,也可以可以是[True,False],即第一個欄位升序,第二個欄位降序 。
inplace: 輸入布爾型,是否用排序後的數據框替換現有的數據框(這個在之前的文章寫過很多次了~)
kind:排序的方法,{『quicksort』, 『mergesort』, 『heapsort』},默認是使用『quicksort』。這個參數用的比較少,大家可以試一試。
na_position :{『first』, 『last』},缺失值的排序,也就說決定將缺失值放在數據的最前面還是最後面。first是排在前面,last是排在後面,默認是用last。
創建數據表:
scores=pd.DataFrame([[87,56,85],[46,87,97],[34,65,86]],
columns=['jack','rose','mike'])
scores
『rose』這一列進行降序排序:
df_sc=scores.sort_values(by='rose',ascending=False)
df_sc
『mike』這一列進行升序排序:
df_sc=scores.sort_values(by='mike',ascending=True)
df_sc
對第0行進行升序排序:
scores.sort_values(by=0,axis=1,ascending=True)
我們再嘗試對第1行進行升序,第0行進行降序:
scores.sort_values(by=[1,0],axis=1,ascending=[True,False]
㈤ python, 非空元組列表中,如何對每個元組中元素的平均值按升序排序急求!代碼打一下
用 List 類的 sort 方法可以很方便實現。
sample = [(2, 6, 4, 5), (1, 7), (4, 3, 4), (2, 3, 8, 1), (4,)]
sample.sort(key=lambda x: len(x))
sample.sort(key=lambda x: sum(x)/len(x))
第一次根據元組長度排序,保證長度較短的元素相對位置靠前(如果沒有長度排序,直接進行平均值排序,元素 (1, 7) 會排在 (4,) 的前面,無法得到正確的順序);
第二次根據元組元素的平均值排序,得到正確的結果;
排序後 sample 的輸出結果:
[(2, 3, 8, 1), (4, 3, 4), (4,), (1, 7), (2, 6, 4, 5)]
㈥ python整數從小到大排序
lst=[2,56,4,9,17,30,7,8,24,1]
lst.sort()
#sort是列表的一個方法,默認會把列表裡的數字按照升序排列
print(lst)
㈦ python如何對一組數排序
python對一組數排序的方法:
1、使用sorted()方法可以進行升序排序
2、可以operator模塊方法進行多級排序
operator 模塊方法允許多級排序。例如,可以先按 grade 排序,然後再按 age 排序
更多Python知識,請關註:Python自學網!!
㈧ python怎麼升序和降序排序
python怎麼升序和降序排序
推薦:《python視頻教程》
1、首先打開cmd命令提示符,輸入指令「ipython」打開python的命令行工具:
2、在命令行中先定義一個變數number數組,裡面寫入幾個數,並用sorted函數對number排序並將排序的結果賦值給變數a,sorted函數第一個參數是要排序的參數,第二個是固定參數reverse表示倒序,True為開啟:
3、最後列印輸出a標量,就是降序輸出了:
更多相關問題,請關注PHP中文網!以上就是小編分享的關於python怎麼升序和降序排序的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
㈨ 怎樣用python將數組里的數從高到低排序
1、首先我們定義一個列表輸入一串大小不一的數字。
㈩ 如何給python重新合並的數據升序排列
rec1 = [2,3,4,5]
rec2 = [17, 16,15,14]
rec3 = rec1 + rec2
rec3.sort() #用排序函數,默認是升序排列
print(rec3)