掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
Python中的
sort是列表方法,直接在原列表上進行排序,無返回值;而sorted是內置函數,可對所有可迭代對象排序,生成并返回一個新的排序后的列表。
在Python中,sort和sorted都是用來對序列進行排序的函數,但它們之間存在一些重要的區(qū)別。
1. sort是列表對象的一個方法,它會直接修改原列表,而sorted是一個內置函數,它會返回一個新的已排序的列表,不改變原來的序列。
list1 = [3, 2, 1] list1.sort() # list1現在是[1, 2, 3] list2 = [3, 2, 1] sorted_list = sorted(list2) # list2仍然是[3, 2, 1],sorted_list是[1, 2, 3]
2. sort方法可以接受兩個可選參數key和reverse,key參數用于自定義排序規(guī)則,reverse參數用于控制排序方向(默認為升序,如果reverse=True則為降序)。
list = ['apple', 'banana', 'cherry'] list.sort(key=len) # 按字符串長度排序,結果是['apple', 'cherry', 'banana'] list.sort(reverse=True) # 降序排序,結果是['cherry', 'banana', 'apple']
同樣,sorted函數也可以接受這些參數:
list = ['apple', 'banana', 'cherry'] sorted_list = sorted(list, key=len) # 按字符串長度排序 sorted_list = sorted(list, reverse=True) # 降序排序
3. sort方法還可以接受一個iterable對象作為參數,這個對象的元素將用于確定排序順序。
list = ['apple', 'banana', 'cherry'] order = ['banana', 'apple', 'cherry'] list.sort(key=order.index) # 根據order列表中的順序排序,結果是['banana', 'apple', 'cherry']
總結來說,如果你需要對列表本身進行排序并修改它,你應該使用sort方法,如果你不想修改原列表,而是想得到一個新的已排序的列表,你應該使用sorted函數。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流