python序列列表怎麼排序?

ldzsl發表於2021-09-11

python序列列表怎麼排序?

Python序列中的列表怎麼排序?

1.sort方法排序原址排序

list.sort(key=None,reverse=False(or True))

當reverse=False時:為正向排序;

當reverse=True時:為反向排序。

預設為False。

2.key:排序關鍵字,值為一個函式,此函式只有一個引數且返回一個值。

比如,有一個User物件的list,希望透過物件的user_id樹形進行排序,可以提供一個以User例項作為輸入並輸出對應user_id值得函式給key(即key=lambda u:uuser_id或key=attrgetter(‘user_id’))

3.執行完後會改變原來的list,如果你不需要原來的list,這種效率稍微高點

>>> list = [1,2,3,4,5,6,7,8,9]
>>> list
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> import random>>> random.shuffle(list)    #打亂順序
>>> list
[8, 1, 9, 2, 4, 3, 5, 6, 7]
>>> list.sort()          #預設是升序排序
>>> list.sort(reverse = True)  #降序排序
>>> list
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> list.sort(key = lambda x:len(str(x)))  #按轉換成字串的長度排序
>>> list
[9, 8, 7, 6, 5, 4, 3, 2, 1]

4.使用內建函式sorted對列表進行排序並返回新列表

>>> list
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> sorted(list)          #升序排序
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> sorted(list,reverse = True) #降序排序
[9, 8, 7, 6, 5, 4, 3, 2, 1]

5.使用列表物件的reverse方法將元素原地逆序

>>> list
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> list.reverse()
>>> list
[1, 2, 3, 4, 5, 6, 7, 8, 9]

6.使用列表物件的reversed方法對列表元素進行逆序排列並返回迭代物件

p2.jpg

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2325/viewspace-2833498/,如需轉載,請註明出處,否則將追究法律責任。

相關文章