日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

深入探索Python排序神器:sorted()函數全解析

來源: 責編: 時間:2024-06-21 17:23:42 151觀看
導讀在Python編程領域,sorted()函數作為數據排序的核心工具,憑借其靈活性和高效性,成為了每個開發者手中的必備神器。本文將帶你全面了解sorted()函數的使用方法、高級技巧及實際應用,通過超過10個生動的代碼示例,深度挖掘這一

在Python編程領域,sorted()函數作為數據排序的核心工具,憑借其靈活性和高效性,成為了每個開發者手中的必備神器。本文將帶你全面了解sorted()函數的使用方法、高級技巧及實際應用,通過超過10個生動的代碼示例,深度挖掘這一功能的強大之處。uSj28資訊網——每日最新資訊28at.com

uSj28資訊網——每日最新資訊28at.com

簡介:sorted()函數初探

sorted()函數是一種內置的高級排序方法,能夠對任何可迭代對象(如列表、元組、字符串等)進行排序,返回一個新的排序后的列表,原對象保持不變。其基本語法為:sorted(iterable[, key][, reverse]),其中:uSj28資訊網——每日最新資訊28at.com

iterable 是待排序的可迭代對象。uSj28資訊網——每日最新資訊28at.com

key 是一個可選參數,用于指定一個函數來作為排序的依據。uSj28資訊網——每日最新資訊28at.com

reverse 也是一個可選參數,布爾值,默認為False,表示升序排列;設為True則為降序排列。uSj28資訊網——每日最新資訊28at.com

基礎應用:純數據排序

示例1:簡單列表排序uSj28資訊網——每日最新資訊28at.com

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

示例2:字符串排序uSj28資訊網——每日最新資訊28at.com

words = ["banana", "apple", "cherry"]sorted_words = sorted(words)print(sorted_words)  # 輸出:['apple', 'banana', 'cherry']

高級技巧:利用key參數定制排序規則

示例3:按字符串長度排序uSj28資訊網——每日最新資訊28at.com

fruits = ["apple", "banana", "cherry", "date"]sorted_by_length = sorted(fruits, key=len)print(sorted_by_length)  # 輸出:['date', 'apple', 'cherry', 'banana']

示例4:按絕對值排序負數uSj28資訊網——每日最新資訊28at.com

nums = [-5, -3, 2, 4, -1]sorted_abs = sorted(nums, key=abs)print(sorted_abs)  # 輸出:[-1, 2, -3, 4, -5]示例5:按姓名的姓氏排序people = ["Alice Johnson", "Bob Smith", "Charlie Brown"]sorted_by_last_name = sorted(people, key=lambda name: name.split()[-1])print(sorted_by_last_name)  # 輸出:['Charlie Brown', 'Alice Johnson', 'Bob Smith']

逆向排序:掌握reverse參數

示例6:降序排列整數uSj28資訊網——每日最新資訊28at.com

numbers_desc = sorted([8, 3, 1, 6, 4], reverse=True)print(numbers_desc)  # 輸出:[8, 6, 4, 3, 1]

示例7:字符串倒序排列uSj28資訊網——每日最新資訊28at.com

words_desc = sorted(["hello", "world", "python"], reverse=True)print(words_desc)  # 輸出:['python', 'world', 'hello']

復合排序:結合多個條件

示例8:先按長度后按字母順序排序uSj28資訊網——每日最新資訊28at.com

items = ["apple", "banana", "pear", "orange"]sorted_complex = sorted(items, key=lambda x: (len(x), x))print(sorted_complex)  # 輸出:['pear', 'apple', 'orange', 'banana']

實戰應用:sorted()在數據處理中的妙用

示例9:排序字典列表的某個字段uSj28資訊網——每日最新資訊28at.com

students = [    {"name": "Tom", "grade": 88},    {"name": "Jerry", "grade": 92},    {"name": "Spike", "grade": 76}]sorted_students = sorted(students, key=lambda student: student["grade"], reverse=True)print(sorted_students)# 輸出:[{'name': 'Jerry', 'grade': 92}, {'name': 'Tom', 'grade': 88}, {'name': 'Spike', 'grade': 76}]

示例10:統計詞頻并排序uSj28資訊網——每日最新資訊28at.com

from collections import Countertext = "the quick brown fox jumps over the lazy dog"words = text.split()word_counts = Counter(words)sorted_word_counts = sorted(word_counts.items(), key=lambda item: item[1], reverse=True)print(sorted_word_counts)# 輸出:[('the', 2), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1), ('over', 1), ('lazy', 1), ('dog', 1)]

結語

通過以上示例,我們不難發現sorted()函數的靈活性和強大功能,它不僅能夠滿足基礎的排序需求,還能通過key和reverse參數實現復雜的排序邏輯,極大地增強了Python在數據處理方面的表現力。無論是在數據分析、文本處理還是日常編程中,熟練掌握并運用sorted()函數都將使你的代碼更加高效、優雅。希望本文能激發你對sorted()函數更深層次的探索和實踐,讓它成為你編程生涯中不可或缺的得力助手。uSj28資訊網——每日最新資訊28at.com


uSj28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-95548-0.html深入探索Python排序神器:sorted()函數全解析

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python十個常用的自動化腳本

下一篇: 使用 Clean Architecture 生成 .NET 項目指南

標簽:
  • 熱門焦點
  • 6月安卓手機性能榜:vivo/iQOO霸占旗艦排行榜前三

    2023年上半年已經正式過去了,我們也迎來了安兔兔V10版本,在新的驍龍8Gen3和天璣9300發布之前,性能榜的榜單大體會以驍龍8Gen2和天璣9200+為主,至于那顆3.36GHz的驍龍8Gen2領先
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現了一個流處理程序
  • 三言兩語說透設計模式的藝術-單例模式

    寫在前面單例模式是一種常用的軟件設計模式,它所創建的對象只有一個實例,且該實例易于被外界訪問。單例對象由于只有一個實例,所以它可以方便地被系統中的其他對象共享,從而減少
  • 不容錯過的MSBuild技巧,必備用法詳解和實踐指南

    一、MSBuild簡介MSBuild是一種基于XML的構建引擎,用于在.NET Framework和.NET Core應用程序中自動化構建過程。它是Visual Studio的構建引擎,可在命令行或其他構建工具中使用
  • 如何通過Python線程池實現異步編程?

    線程池的概念和基本原理線程池是一種并發處理機制,它可以在程序啟動時創建一組線程,并將它們置于等待任務的狀態。當任務到達時,線程池中的某個線程會被喚醒并執行任務,執行完任
  • 網紅炒股不為了賺錢,那就是耍流氓!

    來源:首席商業評論6月26日高調宣布入市,網絡名嘴大v胡錫進居然進軍了股市。在一次財經媒體峰會上,幾個財經圈媒體大佬就“胡錫進炒股是否知道認真報道”展開討論。有
  • 認真聊聊東方甄選:如何告別低垂的果實

    來源:山核桃作者:財經無忌爆火一年后,俞敏洪和他的東方甄選依舊是頗受外界關心的“網紅”。7月5日至9日,為期5天的東方甄選“甘肅行”首次在自有App內直播,
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
  • 由于成本持續增加,筆記本產品價格預計將明顯上漲

    根據知情人士透露,由于材料、物流等成本持續增加,筆記本產品價格預計將在2021年下半年有明顯上漲。進入6月下旬以來,全球半導體芯片缺貨情況加劇,顯卡、處理器
Top 主站蜘蛛池模板: 荥阳市| 恩平市| 阿克| 航空| 余庆县| 通江县| 衡山县| 安达市| 永吉县| 宣化县| 伽师县| 静宁县| 柘城县| 隆安县| 塔城市| 炉霍县| 科技| 远安县| 略阳县| 潼南县| 鹤庆县| 金乡县| 东乡族自治县| 宁津县| 广州市| 囊谦县| 永定县| 郑州市| 东港市| 颍上县| 顺昌县| 乌兰察布市| 荔浦县| 镇平县| 鄢陵县| 曲麻莱县| 施秉县| 高青县| 河北省| 黄石市| 宁蒗|