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