日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python sorted 和 sort() 的区别

發布時間:2025/3/21 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python sorted 和 sort() 的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天遇到了這兩個有關于排序的函數,一個是 sorted() 一個是 sort()

一、特別說明以下3條:

1.sort() 函數只適用于列表排序,而 sorted() 函數適用于任意可以迭代的對象排序,如:列表,元組

2.sort() 函數排序會改變原有的待排序列表,sorted() 函數不會改變原有的待排序序列,而是返回一個新的序列

# 例一 a = [3, 6, 7, 8, 5] b = sorted(a) print(a) print(b)

結果如下:

[3, 6, 7, 8, 5] [3, 5, 6, 7, 8] # 例二 a = [3, 6, 7, 8, 5] a.sort() print(a)

結果如下:

[3, 5, 6, 7, 8]

3.在使用列表進行排序時,需要考慮是否需要保存原列表,如果無需保存原列表,則優先使用sort() 節省內存空間,提高效率

二、sorted 語法:

sorted(iterable, key=None, reverse=False)

參數說明:

  • iterable – 可迭代對象。

  • key – 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序。

  • reverse – 排序規則,reverse = True 降序 , reverse = False 升序(默認)。

練習題:

假設我們用一組tuple表示學生名字和成績: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]sorted() 對上述列表:(1)按名字排序: (2)按成績從高到低排序: >>> print('sorted_by_name:', sorted(L, key=lambda x: x[0])) sorted_by_name: [('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]>>>print('sorted_by_score:', sorted(L, key=lambda x: x[1], reverse=True)) sorted_by_score: [('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]

三、sort() 語法

list.sort(cmp=None, key=None, reverse=False)
參數說明:

  • cmp – 可選參數, 如果指定了該參數會使用該參數的方法進行排序。

  • key – 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序。

  • reverse – 排序規則,reverse = True 降序, reverse = False 升序(默認)。

實例1:

# 列表 vowels = ['e', 'a', 'u', 'o', 'i']# 降序 vowels.sort(reverse=True)# 輸出結果 print('降序輸出:') print( vowels )

以上實例輸出結果如下:

降序輸出: ['u', 'o', 'i', 'e', 'a']

參考博主:https://www.cnblogs.com/liangmingshen/p/10061552.html

總結

以上是生活随笔為你收集整理的Python sorted 和 sort() 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。