新聞中心
Python中的
sort是列表方法,直接在原列表上進(jìn)行排序,無返回值;而sorted是內(nèi)置函數(shù),可對(duì)所有可迭代對(duì)象排序,生成并返回一個(gè)新的排序后的列表。
在Python中,sort和sorted都是用來對(duì)序列進(jìn)行排序的函數(shù),但它們之間存在一些重要的區(qū)別。
1. sort是列表對(duì)象的一個(gè)方法,它會(huì)直接修改原列表,而sorted是一個(gè)內(nèi)置函數(shù),它會(huì)返回一個(gè)新的已排序的列表,不改變?cè)瓉淼男蛄小?/p>
list1 = [3, 2, 1] list1.sort() # list1現(xiàn)在是[1, 2, 3] list2 = [3, 2, 1] sorted_list = sorted(list2) # list2仍然是[3, 2, 1],sorted_list是[1, 2, 3]
2. sort方法可以接受兩個(gè)可選參數(shù)key和reverse,key參數(shù)用于自定義排序規(guī)則,reverse參數(shù)用于控制排序方向(默認(rèn)為升序,如果reverse=True則為降序)。
list = ['apple', 'banana', 'cherry'] list.sort(key=len) # 按字符串長(zhǎng)度排序,結(jié)果是['apple', 'cherry', 'banana'] list.sort(reverse=True) # 降序排序,結(jié)果是['cherry', 'banana', 'apple']
同樣,sorted函數(shù)也可以接受這些參數(shù):
list = ['apple', 'banana', 'cherry'] sorted_list = sorted(list, key=len) # 按字符串長(zhǎng)度排序 sorted_list = sorted(list, reverse=True) # 降序排序
3. sort方法還可以接受一個(gè)iterable對(duì)象作為參數(shù),這個(gè)對(duì)象的元素將用于確定排序順序。
list = ['apple', 'banana', 'cherry'] order = ['banana', 'apple', 'cherry'] list.sort(key=order.index) # 根據(jù)order列表中的順序排序,結(jié)果是['banana', 'apple', 'cherry']
總結(jié)來說,如果你需要對(duì)列表本身進(jìn)行排序并修改它,你應(yīng)該使用sort方法,如果你不想修改原列表,而是想得到一個(gè)新的已排序的列表,你應(yīng)該使用sorted函數(shù)。
分享名稱:python中sort與sorted的區(qū)別
URL標(biāo)題:http://m.fisionsoft.com.cn/article/dpciodo.html


咨詢
建站咨詢

