一、Sort函數簡介
Python中的內置函數sorted()和list.sort()都可以實現列表的排序,而其中sort()的排序效率更高,因為它是直接修改了原列表而非生成一個新的有序列表。下面我們將詳細介紹Sort函數的用法及其實例。
二、Sort函數的用法和參數
在Python中,list的sort()函數可以接受三個參數:reverse,key和cmp。
- reverse:可選參數,reverse = True時表示降序排列,預設時為升序排列;
- key:可選參數,根據列表元素的某個屬性進行排序;
- cmp:對比函數,python3已經沒有此參數。
三、Sort函數的實例
1、按照數字大小排列
<!--代碼部分請保持代碼的縮進和格式-->
a = [3, 4, 2, 8, 9, 5, 1, 2]
a.sort()
print(a)
# 輸出結果:[1, 2, 2, 3, 4, 5, 8, 9]
在以上代碼中,a將按照數字的大小進行升序排列,因此輸出結果中,a中的元素按照從小到大的順序排列。
2、按照數字大小降序排列
<!--代碼部分請保持代碼的縮進和格式-->
a = [3, 4, 2, 8, 9, 5, 1, 2]
a.sort(reverse=True)
print(a)
# 輸出結果:[9, 8, 5, 4, 3, 2, 2, 1]
在以上代碼中,通過將reverse參數設置為True,可以實現將元素按照從大到小的順序排序。
3、按照字元串長度排列
<!--代碼部分請保持代碼的縮進和格式-->
a = ['aa', 'ccc', 'b', 'eee', 'dddd']
a.sort(key=len)
print(a)
# 輸出結果:['b', 'aa', 'ccc', 'eee', 'dddd']
在以上代碼中,通過設置key參數為len,可以實現將元素按照字元串長度從小到大的順序排序。
4、按照字元串出現的頻率排列
<!--代碼部分請保持代碼的縮進和格式-->
a = ['aa', 'ccc', 'b', 'eee', 'dddd']
b = ['ccc', 'aa', 'eee', 'b', 'eee', 'aaa', 'ccc', 'ccc', 'ccc']
a.sort(key=b.count, reverse=True)
print(a)
# 輸出結果:['ccc', 'aa', 'eee', 'b', 'dddd']
在以上代碼中,通過設置key參數為b.count,可以實現將元素按照它在列表b中出現的頻率從高到低排序。
5、按照字典的值排列
<!--代碼部分請保持代碼的縮進和格式-->
d = {'a': 3, 'b': 1, 'c': 2}
keys = list(d.keys())
keys = sorted(keys, key=d.__getitem__)
print(keys)
# 輸出結果:['b', 'c', 'a']
在以上代碼中,使用sorted()函數和字典的__getitem__()方法將字典d中的鍵按照值的大小排序。
四、總結
Python的Sort函數提供了靈活的排序方式,可以滿足不同場景下的排序需求。相信通過以上實例的介紹,大家已經掌握了Sort函數的使用方法和其常用參數,能夠更加高效地應用該函數進行排序。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270432.html