最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中sorted()函數(shù)之排序的利器詳解

 更新時間:2024年08月05日 09:54:33   作者:程序員喵哥  
sorted()函數(shù)是Python中的內(nèi)置函數(shù),用于對可迭代對象進行排序,下面這篇文章主要給大家介紹了關于Python中sorted()函數(shù)之排序的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

前言

在 Python 中,sorted() 函數(shù)是用于對可迭代對象進行排序的內(nèi)置函數(shù)。本文將深入探討 sorted() 函數(shù)的用法、工作原理以及常見應用場景,可以更好地理解和應用這個函數(shù)。

什么是 sorted() 函數(shù)?

sorted() 函數(shù)是 Python 中的一個內(nèi)置函數(shù),用于對可迭代對象進行排序。該函數(shù)返回一個新的列表,其中包含了按照指定排序規(guī)則排序后的原始數(shù)據(jù)。

sorted() 函數(shù)的基本語法如下:

sorted(iterable, *, key=None, reverse=False)
  • iterable 是要排序的可迭代對象,例如列表、元組、集合等。

  • key 是一個可選參數(shù),用于指定排序時要應用的函數(shù)。

  • reverse 是一個可選參數(shù),用于指定排序順序,True 表示降序,F(xiàn)alse 表示升序(默認為 False)。

sorted() 函數(shù)的基本用法

先來看一些 sorted() 函數(shù)的基本用法。

1. 對列表進行排序

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

在這個示例中,對列表 numbers 進行排序,并將排序后的結果存儲在新列表 sorted_numbers 中。

2. 對字符串進行排序

text = "python"
sorted_text = sorted(text)
print(sorted_text)  # ['h', 'n', 'o', 'p', 't', 'y']

在這個示例中,對字符串 text 進行排序,按照字母順序將字符分割成單個字符,并將排序后的結果存儲在新列表 sorted_text 中。

3. 對集合進行排序

fruits = {"apple", "banana", "orange", "pineapple", "grape"}
sorted_fruits = sorted(fruits)
print(sorted_fruits)  # ['apple', 'banana', 'grape', 'orange', 'pineapple']

在這個示例中,對集合 fruits 進行排序,按照字母順序將集合元素排序,并將排序后的結果存儲在新列表 sorted_fruits 中。

sorted() 函數(shù)的常見應用場景

sorted() 函數(shù)在 Python 編程中有許多應用場景,以下是一些常見的用法:

1. 自定義排序規(guī)則

sorted() 函數(shù)通過指定 key 參數(shù)來定義自定義排序規(guī)則。

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers, key=lambda x: x % 3)
print(sorted_numbers)  # [3, 6, 9, 3, 1, 4, 1, 5, 2, 5, 5]

在這個示例中,定義了一個匿名函數(shù)作為 key 參數(shù),按照元素對 3 取余的結果進行排序,從而實現(xiàn)了自定義的排序規(guī)則。

2. 排序字典

sorted() 函數(shù)也可以用于對字典的鍵或值進行排序。

my_dict = {'a': 3, 'b': 1, 'c': 4, 'd': 2}
sorted_keys = sorted(my_dict.keys())
print(sorted_keys)  # ['a', 'b', 'c', 'd']

sorted_values = sorted(my_dict.values())
print(sorted_values)  # [1, 2, 3, 4]

在這個示例中,分別對字典的鍵和值進行排序,并將排序后的結果存儲在新列表中。

3. 復雜對象的排序

sorted() 函數(shù)也可以用于對復雜對象的列表進行排序,例如元組、對象列表等。

# 對元組列表按照第二個元素進行排序
data = [(1, 3), (2, 1), (3, 4), (4, 2)]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # [(2, 1), (1, 3), (4, 2), (3, 4)]

在這個示例中,定義了一個匿名函數(shù)作為 key 參數(shù),按照元組的第二個元素進行排序,從而實現(xiàn)了對元組列表的排序。

4. 指定排序順序

除了使用 key 參數(shù)外,sorted() 函數(shù)還提供了 reverse 參數(shù),用于指定排序順序,即升序或降序。

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers_asc = sorted(numbers)
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_asc)  # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
print(sorted_numbers_desc)  # [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

在這個示例中,分別使用 sorted() 函數(shù)的默認排序順序和指定 reverse=True 參數(shù)的排序順序,得到了升序和降序排列的結果。

5. 排序穩(wěn)定性

Python 的排序算法保證了排序的穩(wěn)定性,即具有相同鍵值的元素在排序后的相對位置保持不變。

data = [('a', 3), ('b', 1), ('c', 3), ('d', 2)]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # [('b', 1), ('d', 2), ('a', 3), ('c', 3)]

在這個示例中,元組 ('a', 3) 和 ('c', 3) 在排序后的結果中保持了原有的順序,這就是排序的穩(wěn)定性。

6. 原地排序

除了返回一個新的列表外,sorted() 函數(shù)還可以直接對原始數(shù)據(jù)進行排序,使用 key 和 reverse 參數(shù)來指定排序規(guī)則。

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort(reverse=True)
print(numbers)  # [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

在這個示例中,使用列表的 sort() 方法對原始數(shù)據(jù)進行排序,指定了 reverse=True 參數(shù),實現(xiàn)了降序排序。

總結

sorted() 函數(shù)是 Python 中一個非常有用的內(nèi)置函數(shù),用于對可迭代對象進行排序。通過合理地應用 sorted() 函數(shù),可以實現(xiàn)對各種數(shù)據(jù)類型的排序操作,包括列表、字符串、集合等。了解 sorted() 函數(shù)的使用方法和參數(shù)選項,可以更靈活地處理數(shù)據(jù),提高代碼的效率和可維護性。希望本文提供的示例和解釋能夠幫助大家更好地理解和應用 sorted() 函數(shù),在實際開發(fā)中發(fā)揮更大的作用。

到此這篇關于Python中sorted()函數(shù)之排序利器的文章就介紹到這了,更多相關Python中sorted()函數(shù)排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Pandas設置DataFrame的index索引起始值為1的兩種方法

    Pandas設置DataFrame的index索引起始值為1的兩種方法

    DataFrame中的index索引列默認是從0開始的,那么我們?nèi)绾卧O置index索引列起始值從1開始呢,本文主要介紹了Pandas設置DataFrame的index索引起始值為1的兩種方法,感興趣的可以了解一下
    2024-07-07
  • python學生信息管理系統(tǒng)實現(xiàn)代碼

    python學生信息管理系統(tǒng)實現(xiàn)代碼

    這篇文章主要介紹了python學生信息管理系統(tǒng)的實現(xiàn)代碼,代碼簡單,復制即可使用,需要的朋友可以參考下
    2019-12-12
  • 使用Python3制作TCP端口掃描器

    使用Python3制作TCP端口掃描器

    本文給大家分享的是使用Python3 實現(xiàn)TCP全連接端口掃描器的制作過程,包括思路和代碼,非常簡單易懂,推薦給大家
    2017-04-04
  • 使用Python構建一個高效的日志處理系統(tǒng)

    使用Python構建一個高效的日志處理系統(tǒng)

    這篇文章主要為大家詳細講解了如何使用Python開發(fā)一個專業(yè)的日志分析工具,能夠自動化處理、分析和可視化各類日志文件,大幅提升運維效率,需要的可以了解下
    2025-07-07
  • 詳解如何在ChatGPT內(nèi)構建一個Python解釋器

    詳解如何在ChatGPT內(nèi)構建一個Python解釋器

    這篇文章主要為大家詳細介紹了如何在ChatGPT內(nèi)構建一個Python解釋器,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以參考一下
    2023-02-02
  • 新手必備Python開發(fā)環(huán)境搭建教程

    新手必備Python開發(fā)環(huán)境搭建教程

    今天向大家介紹如何搭建Python開發(fā)環(huán)境, Python可應用于多平臺包括 Linux 和 Mac OS X,文中有非常詳細的圖文介紹,需要的朋友可以參考下
    2021-05-05
  • Pytorch 統(tǒng)計模型參數(shù)量的操作 param.numel()

    Pytorch 統(tǒng)計模型參數(shù)量的操作 param.numel()

    這篇文章主要介紹了Pytorch 統(tǒng)計模型參數(shù)量的操作 param.numel(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Flask藍圖學習教程

    Flask藍圖學習教程

    在Flask中,使用藍圖Blueprint來分模塊組織管理。藍圖實際可以理解為是一個存儲一組視圖方法的容器對象,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • 如何解決.cuda()加載用時很長的問題

    如何解決.cuda()加載用時很長的問題

    這篇文章主要介紹了如何解決.cuda()加載用時很長的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 詳解用python實現(xiàn)簡單的遺傳算法

    詳解用python實現(xiàn)簡單的遺傳算法

    這篇文章主要介紹了詳解用python實現(xiàn)簡單的遺傳算法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01

最新評論

开远市| 阿拉善右旗| 孟津县| 阜城县| 如东县| 宁强县| 岑巩县| 名山县| 冕宁县| 班戈县| 福建省| 高尔夫| 石渠县| 和田市| 澄城县| 曲阳县| 普格县| 宝山区| 信丰县| 喀喇| 手游| 阿拉善盟| 宽城| 余庆县| 罗江县| 邮箱| 石阡县| 通辽市| 昂仁县| 普洱| 磴口县| 元谋县| 青川县| 大宁县| 定边县| 永平县| 上犹县| 岳池县| 马鞍山市| 咸阳市| 墨竹工卡县|