Python List sort()方法
描述
sort() 函式用於對原列表進行排序,如果指定引數,則使用比較函式指定的比較函式。
語法
sort()方法語法:
list.sort(cmp=None, key=None, reverse=False)
引數
- cmp -- 可選引數, 如果指定了該引數會使用該引數的方法進行排序。
- key -- 主要是用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。
- reverse -- 排序規則,reverse = True 降序, reverse = False 升序(預設)。
返回值
該方法沒有返回值,但是會對列表的物件進行排序。
例項
以下例項展示了 sort() 函式的使用方法:
例項
#!/usr/bin/python # -*- coding: UTF-8 -*- aList = [123, 'Google', 'Runoob', 'Taobao', 'Facebook']; aList.sort(); print "List : ", aList
以上例項輸出結果如下:
List : [123, 'Facebook', 'Google', 'Runoob', 'Taobao']
以下例項降序輸出列表:
例項
#!/usr/bin/python # -*- coding: UTF-8 -*- # 列表 vowels = ['e', 'a', 'u', 'o', 'i'] # 降序 vowels.sort(reverse=True) # 輸出結果 print '降序輸出:', vowels
以上例項輸出結果如下:
降序輸出: ['u', 'o', 'i', 'e', 'a']
以下例項演示了通過指定列表中的元素排序來輸出列表:
例項
#!/usr/bin/python # -*- coding: UTF-8 -*- # 獲取列表的第二個元素 def takeSecond(elem): return elem[1] # 列表 random = [(2, 2), (3, 4), (4, 1), (1, 3)] # 指定第二個元素排序 random.sort(key=takeSecond) # 輸出類別 print '排序列表:', random
以上例項輸出結果如下:
排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]
例項
key=(元素1,元素2)時的情形,先按元素1排序,當元素1相同時,在按元素2排序
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 獲取列表的第二個元素
def takeSecond(elem):
return elem[1]
# 列表
random = [(2, 2), (3, 4), (4, 1),(4,2),(4,3),(1,1), (1, 3)]
# 指定第二個元素排序
random.sort(key=lambda x: (x[0], x[1]), reverse=True)
# 輸出類別
print '排序列表:', random
-----------------------------------------------
輸出結果:
[email protected]:~/桌面$ python test.py
排序列表: [(4, 3), (4, 2), (4, 1), (3, 4), (2, 2), (1, 3), (1, 1)]