python中的sort()函數(shù)只能應(yīng)用在列表list上,而sorted可以對所有可迭代的對象進行排序的操作
sort方法會在原list上直接進行排序,不會創(chuàng)建新的list。而sorted方法不會對原來的數(shù)據(jù)做任何改動,排序后的結(jié)果是新生成的。如果我們不需要原來的數(shù)據(jù)而且數(shù)據(jù)是list類型,可以用sort方法,能夠節(jié)省空間。否則要用sorted方法。
sort
在python2中,sort方法可以有3個參數(shù):key、cmp和reverse。但在python3中取消了cmp這個參數(shù),只有key和reverse兩個可選參數(shù)。參數(shù)reverse指定排序是正序還是倒序,默認是正序FALSE,不在多說。參數(shù)key指定了只含一個參數(shù)的方法,這個方法用來從列表的每個元素中提取比較鍵??梢钥纯聪旅鎺讉€例子:
1.通過元素長度排序
strlist=["bbb","ccc","bac","ab","ba"]
strlist.sort(key=len)
print(strlist)
打印結(jié)果如下:
['ab','ba','bbb','ccc','bac']
2.通過元素的字符順序
strlist=["bbb","BBB","bAc","ab","bac"]
strlist.sort()print(strlist)
strlist.sort(key=str.lower)print(strlist)
打印結(jié)果如下:
['BBB','ab','bAc','bac','bbb']
['ab','bAc','bac','BBB','bbb']
以上內(nèi)容為大家介紹了python培訓(xùn)之sort()報錯是什么原因,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。