国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python排序函數sort()與sorted()的區別

2020-02-15 23:01:30
字體:
來源:轉載
供稿:網友

python 中sorted與sort有什么區別

sort(cmp=None, key=None, reverse=False)
sorted(iterable, cmp=None, key=None, reverse=False)
sort是容器的函數,用List的成員函數sort進行排序
sorted是Python的內建函數相同的參數,用built-in函數sorted進行排序
sorted(iterable,key=None,reverse=False),返回新的列表,對所有可迭代的對象均有效
sort(key=None,reverse=False) 就地改變列表 reverse:True反序;False 正序

例如:

>>> a=[1,3,5,2,9,4,7,8,6,0]>>> a.sort()>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a=[1,3,5,2,9,4,7,8,6,0]>>> sorted(a)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[1, 3, 5, 2, 9, 4, 7, 8, 6, 0]

以下是詳細說明

Python list內置sort()方法用來排序,也可以用python內置的全局sorted()方法來對可迭代的序列排序生成新的序列。

sorted(iterable,key=None,reverse=False),返回新的列表,對所有可迭代的對象均有效

sort(key=None,reverse=False) 就地改變列表 reverse:True反序;False 正序

sort是容器的函數:sort(cmp=None, key=None, reverse=False)

sorted是python的內建函數:sorted(iterable, cmp=None, key=None, reverse=False)

參數解析:

cmp:比較函數,比較什么參數由key決定。例如:cmp(e1, e2) 是具有兩個參數的比較函數,返回值:負數(e1 < e2);0(e1 == e2);正數( e1 > e2)。
key:用列表元素的某個屬性或函數作為關鍵字。
reverse:排序規則,可以選擇True或者False。
sorted多一個參數iterable:待排序的可迭代類型的容器 

示例1:

>>> a=[1,2,5,3,9,4,6,8,7,0,12]>>> a.sort()>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12]>>> a=[1,2,5,3,9,4,6,8,7,0,12]>>> sorted(a)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12]>>> a[1, 2, 5, 3, 9, 4, 6, 8, 7, 0, 12]

區別:

對于一個無序的列表a,調用a.sort(),對a進行排序后返回a,sort()函數修改待排序的列表內容。
而對于同樣一個無序的列表a,調用sorted(a),對a進行排序后返回一個新的列表,而對a不產生影響。

示例2:

假設用元組保存每一個學生的信息,包括學號,姓名,年齡。用列表保存所有學生的信息。

>>> list1=[(8, 'Logan', 20), (2, 'Mike', 22), (5, 'Lucy', 19)]>>> list1.sort()>>> list1[(2, 'Mike', 22), (5, 'Lucy', 19), (8, 'Logan', 20)]>>> list1=[(8, 'Logan', 20), (2, 'Mike', 22), (5, 'Lucy', 19)]>>> sorted(list1)[(2, 'Mike', 22), (5, 'Lucy', 19), (8, 'Logan', 20)]>>> list1[(8, 'Logan', 20), (2, 'Mike', 22), (5, 'Lucy', 19)]

小結:由示例可以看出,當列表由list(或者tuple)組成時,默認情況下,sort和sorted都會根據list[0](或者tuple[0])作為排序的key,進行排序。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金湖县| 双牌县| 读书| 丁青县| 荃湾区| 马边| 岗巴县| 高平市| 东乡族自治县| 西充县| 岢岚县| 类乌齐县| 江油市| 油尖旺区| 津市市| 崇州市| 宜春市| 隆尧县| 虎林市| 内乡县| 抚顺市| 合作市| 桂阳县| 黑河市| 宣化县| 东阿县| 吉隆县| 清原| 宜丰县| 巩义市| 石阡县| 小金县| 江门市| 宜宾市| 茶陵县| 丰县| 甘肃省| 滁州市| 临夏县| 奉化市| 余干县|