Python sorted函數及用法

2021-03-02 編程小可愛

sorted() 作為 Python 內置函數之一,其功能是對序列(列表、元組、字典、集合、還包括字符串)進行排序。

sorted() 函數的基本語法格式如下:

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

其中,iterable 表示指定的序列,key 參數可以自定義排序規則;reverse 參數指定以升序(False,默認)還是降序(True)進行排序。sorted() 函數會返回一個排好序的列表。

注意,key 參數和 reverse 參數是可選參數,即可以使用,也可以忽略。

下面程序演示了 sorted() 函數的基本用法:

a = [5,3,4,2,1]print(sorted(a))
a = (5,4,3,1,2)print(sorted(a))
a = {4:1,\ 5:2,\ 3:3,\ 2:6,\ 1:8}print(sorted(a.items()))
a = {1,5,3,2,4}print(sorted(a))
a = "51423"print(sorted(a))

程序執行結果為:

[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[(1, 8), (2, 6), (3, 3), (4, 1), (5, 2)]
[1, 2, 3, 4, 5]
['1', '2', '3', '4', '5']


再次強調,使用 sorted() 函數對序列進行排序, 並不會在原序列的基礎進行修改,而是會重新生成一個排好序的列表。例如:

a = [5,3,4,2,1]print(sorted(a))print(a)

程序執行結果為:

[1, 2, 3, 4, 5]
[5, 3, 4, 2, 1]

顯然,sorted() 函數不會改變所傳入的序列,而是返回一個新的、排序好的列表。

除此之外,sorted()函數默認對序列中元素進行升序排序,通過手動將其 reverse 參數值改為 True,可實現降序排序。例如:

a = [5,3,4,2,1]print(sorted(a,reverse=True))

程序執行結果為:

[5, 4, 3, 2, 1]


另外在調用 sorted() 函數時,還可傳入一個 key 參數,它可以接受一個函數,該函數的功能是指定 sorted() 函數按照什麼標準進行排序。例如:

chars=['hello.net',\       'hello.python/',\       'hello.shell/',\       'hello.java/',\       'hello.golang/']print(sorted(chars))
print(sorted(chars,key=lambda x:len(x)))

程序執行結果為:

['hello.net',
 'hello.golang/',
 'hello.java/',
 'hello.python/',
 'hello.shell/']
['hello.net',
 'hello.java/',
 'hello.shell/',
 'hello.python/',
 'hello.golang/']

此程序中,使用了 lambda 表示式,其用法會在後續章節進行詳細介紹。

相關焦點

  • 詳細講解:python中的lambda與sorted函數
    本文內容主要介紹了python中的lambda與sorted函數的相關資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下!!!
  • Python內置函數sorted()高級排序用法
    可以結合Python內置函數sorted()從入門到精通來看一些稍微基礎的排序用法。
  • 在Python中如何使用sorted()和sort()函數
    這個例子展示了sorted()函數四種重要的特性:      1.sorted()函數不需要定義。它是一個內置函數,可以在標準的Python安裝中使用。      2.在沒有額外的參數的情況下,sorted()函數按照升序對值進行排列,也就是按照從小到大的順序。
  • 在Python中如何使用sorted()和sort()函數(下篇)
    當你同時使用sorted()函數中的key和reverse參數時,如何實現排序的可能性是無窮無盡的。當你為一個小函數使用基本lambda式時,代碼可以保持簡短和整潔,或者你可以編寫一個全新的函數,導入它,並在key參數中使用它。使用.sort()對值排序名稱非常相似的.sort()與內置的sorted()有很大的差別。
  • python之lambda函數使用
    內置函數高階用法lambda常用高階函數:map()函數reduce() 函數sorted() 函數filter() 函數map()函數:map() 會根據提供的括號內函數對給出的序列做一一映射。sp = lambda x:x**2 sq = map(sp,[2,3,4,5])   print([i for i in sq]) 以上代碼我們可以看到sp為指定的函數,後面的列表為提供的序列,得到的sq是一個迭代器,使用python2.X的版本可直接得到一個list列表,python3.X的版本是一個迭代器,
  • python筆記18-sort和sorted區別
    前言python的排序有兩個方法,一個是list對象的sort方法,另外一個是builtin函數裡面sorted,主要區別:備註:
  • Python排序傻傻分不清?一文看透sorted與sort用法
    翻譯:wLsq作者:David Fundakowski 原文:https://realpython.com
  • Python內置函數sorted()從入門到精通
    Python內置函數sorted()可以對列表、元組、字典、集合、字符串、range對象以及其他可迭代對象進行排序,返回排序後的列表
  • Python內置函數一覽表
    Python 標準庫非常龐大,包含了很多模塊,要想使用某個函數,必須提前導入對應的模塊,否則函數是無效的。內置函數是解釋器的一部分,它隨著解釋器的啟動而生效;標準庫函數是解釋器的外部擴展,導入模塊以後才能生效。一般來說,內置函數的執行效率要高於標準庫函數。
  • python中排序函數sort,sorted和operator.itemgetter的使用
    (a已經改變)2.sorted    sorted()是Python內置的一個排序函數,它會從一個迭代器返回一個排好序的新列表。(注意:即使是不可變的元組也可以進行排序,最後返回排序後的列表)相比於 sort(),sorted() 使用的範圍更為廣泛,但是如果不需要保留原列表,sort更有效一點。另外,sort() 只是列表的一個方法,只適用於列表,而sorted() 函數接受一切迭代器,返回新列表。
  • python高階函數:map、filter、reduce的替代品
    什麼是高階函數?高階函數是一種將函數作為參數,或者把函數作為結果返回的函數,map函數、sorted函數就是高階函數的典型例子。map函數在小編以前的文章中做過相應的知識分享。sorted函數是python的內置函數,它的可選參數key用於提供一個函數,它可以將函數應用到各個元素上進行排序。
  • 【Python基礎】Python 函數使用總結
    我們把一些經常或反覆被使用的任務放在一起,創建一個函數,而不是為不同的輸入反覆編寫相同的代碼。Python提供了print、sorted、max、map等內置函數,但我們也可以創建自己的函數,稱為用戶定義函數。
  • Python中的4個Lambda函數示例
    對序列排序Lambda函數的第一應用場景就是用於內置函數sorted()中,用於對序列類型的數據進行排序。如果你熟悉了列表對象的方法,你應該知道它有一個類似的方法sort(),通過它能夠實現對列表對象的原地排序。
  • Python 中的 L.sort() 與 sorted()
    但是,Python中也有內置的排序函數,比如 L.sort() 和 sorted() 函數。但是它們有什麼區別呢?讓我們先從這個函數的定義說起:sorted(iterable, cmp=None, key=None, reverse=False)L.sort(cmp=None, key=None, reverse=False)sorted():該函數第一個參數iterable為任意可以迭代的對象,cmp是比較函數,通常為
  • Python sleep()函數用法:線程睡眠
    所謂暫停,即令當前線程進入阻塞狀態,當達到 sleep() 函數規定的時間後,再由阻塞狀態轉為就緒狀態,等待 CPU 調度。sleep() 函數位於 time 模塊中,因此在使用前,需先引入 time 模塊。
  • python中int函數的其他用法
    泰山版初中信息技術第1冊python編程中出現了int函數,教材中int函數的作用是把輸入的字符型數字轉變成整數,其實int函數還有其他的用法
  • 通過「四不要」,掌握 Python 的 Lambda 函數
    譯文出自:掘金翻譯計劃本文永久連結:https://github.com/xitu/gold-miner/blob/master/article/2020/master-python-lambda-functions-with-these-4-donts.md譯者:loststar  校對者:luochen1992Lambda 函數是 Python
  • 一文看懂Python列表表達式及高階函數如lamda, zip, enumerate, map和filter方法.
    , sorted方法是python學習,面試和工作的必備技能。其實lambda最常用的還是和sorted, map、reduce、filter這些高級函數結合使用。我們再來看下2個使用lambda函數結合sorted方法排序的經典例子。一個按絕對值大小排序,一個按字符串長度排序。
  • Python中有哪些內置函數呢?以及內置函數實例
    #python軟體學習#>Python中有哪些內置函數呢?常見簡單內置函數:len 求長度min 求最小值max 求最大值sorted 排序reversed 反向sum 求和li = [8, 3, 5, 7, 6, 2, 9]print(len(li))print(min(li))print(max(li))print(sum(li))print(sorted
  • Python zip函數及用法
    zip() 函數是 Python 內置函數之一,它可以將多個序列(列表、元組、字典、集合、字符串以及 range() 區間構成的列表)「壓縮」成一個