導航:首頁 > 編程語言 > python中列表的排序

python中列表的排序

發布時間:2022-07-27 23:02:49

A. python列表排序方法

列表的sort方法就是用來進行排序的。

主要就是兩個參數,key,reverse


先說reverse,這個很簡單,就是指出是否進行倒序排序:一般情況下,1排在2的前面,而倒序則相反。


key參數:一般它是一個函數,它接受列表中每一個元素,返回一個可用用於比較的值。

s=[1,2,3,4,5]

s.sort(key=lambda _: _**2%7)

print(s)

輸出的是:[1, 3, 4, 2, 5]

如果看不懂lambda表達式,可以看這一段等價的寫法:

def myfn(x):

....return (x * x) % 7


s=[1,2,3,4,5]

s.sort(key=myfn)

print(s)

輸出的結果是一樣的。

key使用的函數可以是自定義函數也可以pytho內置的函數,或者是某個類或者實例的方法,只要它能接受一個參數,返回一個可比較的值即可。比如這樣:

s=[[1,2,4],[3,3,5],[1,1,1],[5,7,9]]

s.sort(key=max) # 直接使用max函數作為排序依據

print(s)

[[1, 1, 1], [1, 2, 4], [3, 3, 5], [5, 7, 9]]


B. Python中,如何給列表排序

Python中給列表排序的方式有很多,可以自己實現,也可以用Python提供的方法
使用Python提供的方法:
列表.sort()
列表.sort(reverse=True)

自己實現:
num_list = [64, 34, 25, 12, 22, 11, 90]
print(num_list)
n = len(num_list)

# 遍歷所有數組元素
for i in range(n):

for j in range(0, n - i - 1):

if num_list[j] > num_list[j + 1]:
num_list[j], num_list[j + 1] = num_list[j + 1], num_list[j]

print(num_list)
代碼發到這邊格式有點亂,有需要的話可以去到黑馬程序員社區。有很多計算機技術的基礎入門和高級進階的內容,源碼什麼的也都有。

C. python,列表如何排序

sorted(a,key=lambdaa:a[1])

D. 如何對python編程中的列表元素按成績高低進行排序呢

最簡單的辦法就是需要指定列表排序方法中的參數「key」。代碼如下:
第一種:
stu=[['john',79],['mame',96],['herry',85],['lili',95],['ziling',63]]
def takeSecond(elem):
return elem[1]
stu.sort(key=takeSecond,,reverse=True)
print(stu)
第二種:
stu=[['john',79],['mame',96],['herry',85],['lili',95],['ziling',63]]
s=sorted(stu,key=lambda student: student[1],,reverse=True)
print(s)

E. python實現字元串列表排序

a = ['b', 'a', 'c', 'ab', 'aa', 'aaa']

a.sort(key=lambda x: str(len(x)) + x)
print(a)
#['a', 'b', 'c', 'aa', 'ab', 'aaa']

F. python多個列表排序

用sorted(list)函數就可以。

G. (小白求教)python中怎麼用sort對某個列表排序

是排了順序的喲!
A和a是不同的,排序是按照ascii碼排的,大寫字母的ascii碼在小寫字母之前。比如A的ascii碼為65,a的ascii碼為97。所以在排序時,大寫字母開頭的單詞會排在前面。
你要是想忽略大小寫,同時保留原始的大小寫的話,可以修改all_words.sort()為all_words.sort(key=lambda x: x.lower())

H. 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中列表的排序相關的資料

熱點內容
正宗溯源碼大燕條一克一般多少錢 瀏覽:915
電腦感染exe文件夾 瀏覽:914
wpsppt怎麼轉pdf格式 瀏覽:86
騰訊文檔在線編輯怎麼添加密碼 瀏覽:868
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664
雲伺服器app安卓下載 瀏覽:966
如何查看linux伺服器的核心數 瀏覽:137
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:646
java與單片機 瀏覽:897
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:624
怎麼使用雲伺服器掛游戲 瀏覽:618
真實的幸福pdf 瀏覽:345
d盤php調用c盤的mysql 瀏覽:267