Python中sort和sorted的用法与区别
生活随笔
收集整理的這篇文章主要介紹了
Python中sort和sorted的用法与区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. sort:
sort是Python中列表的方法
sort() 方法語法:
list.sort(key=None, reverse=False)有兩個參數,這里不講第一個參數,第二個參數當 reverse=True時為降序排列,reverse=False為升序排列,默認reverse=False
重要: 該方法沒有返回值,也就是返回值為 None,而我也正是在這里犯錯了
代碼案例:
a = [4, 5, 6, 3, 2, 320, 5, 1] # 創建一個列表print(a) # 打印列表,輸出為:[4, 5, 6, 3, 2, 320, 5, 1]print(a.sort()) # 輸出為:None print(a) # 輸出為:[1, 2, 3, 4, 5, 5, 6, 320]a = a.sort() print(a) # 輸出為:None錯用 a = a.sort(),以為可以把列表 a 按升序排列,其實只會把 a 變為 None,并不是真正想要的結果;正確做法是只要調用了 a.sort(),原列表 a 就變為一個升序的列表了,就可以直接使用 a 了;
2. sorted:
sorted() 函數是Python中的內置函數
語法:
sorted(iterable=None, key=None, reverse=False)共有三個參數,后兩個參數和 list.sort() 方法中的參數意思沒有差別,第一個參數是一個可迭代對象
返回值:返回重新排列的列表
注意:和 list.sort() 方法不一樣的是,該函數不該變原來的可迭代對象,如 a 為一個列表,sorted(a) ,并不會改變 a,只會返回一個排序后的新列表
代碼案例:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' a = [4, 5, 6, 3, 2, 320, 5, 1] # 創建一個列表 print(a) # 輸出:[4, 5, 6, 3, 2, 320, 5, 1]sorted(a) print(a) # 輸出:[4, 5, 6, 3, 2, 320, 5, 1],因為sorted() 函數不會改變原先的列表 print(sorted(a)) # 輸出:[1, 2, 3, 4, 5, 5, 6, 320],因為 sorted() 函數返回一個排序好的列表a = sorted(a) print(a) # 現在用 sorted 函數就可以這樣使用而不會出現錯誤了,輸出:[1, 2, 3, 4, 5, 5, 6, 320]總結
以上是生活随笔為你收集整理的Python中sort和sorted的用法与区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python字典推导式将cookie字符
- 下一篇: python添加、修改、删除、访问类对象