首页 > 编程语言 >Python实现排序的方式有:内置函数sort()和sorted()以及lambda函数

Python实现排序的方式有:内置函数sort()和sorted()以及lambda函数

时间:2023-09-19 21:13:48浏览次数:32  
标签:sort 函数 Python sorted array 排序

排序是计算机编程中经常需要用到的操作,它将一组数据按照规则重新排列,以便更好地处理数据。在Python中,有多种方法可以对数组进行排序,本文将从多个方面进行介绍。

一、Python中的排序方法

Python中内置了多个排序算法,包括冒泡排序、插入排序、选择排序、快速排序等。使用内置的sort()函数可以实现排序操作,具体使用方法如下:


array = [3, 1, 4, 2, 0]
array.sort()
print(array)
# 输出结果为 [0, 1, 2, 3, 4]

此方法可以对列表、元组、字典等数据类型进行排序,sort()函数还可以传递参数来改变排序规则,例如按照倒序进行排序:


array = [3, 1, 4, 2, 0]
array.sort(reverse=True)
print(array)
# 输出结果为 [4, 3, 2, 1, 0]

二、使用sorted()函数进行排序

除了内置的sort()函数外,Python还有一个sorted()函数可以用来进行排序。不同于sort()函数,sorted()函数返回一个全新的排好序的数组,原数组不会被修改。使用方法如下:


array = [3, 1, 4, 2, 0]
new_array = sorted(array)
print(new_array)
# 输出结果为 [0, 1, 2, 3, 4]

与sort()函数一样,sorted()函数也可以传递参数进行不同规则的排序操作,例如按照绝对值进行排序:


array = [3, -1, 4, -2, 0]
new_array = sorted(array, key=abs)
print(new_array)
# 输出结果为 [0, -1, 2, -3, 4]

三、使用lambda函数进行排序

另一种使用Python进行排序的方法是通过lambda函数,这种方法简单易懂,代码量也较少。使用方法如下:


array = [3, 1, 4, 2, 0]
new_array = sorted(array, key=lambda x: -x)
print(new_array)
# 输出结果为 [4, 3, 2, 1, 0]

以上代码使用lambda函数来进行倒序排序,同样可以进行其他规则的排序操作。

四、对多维数组进行排序

除了对一维数组进行排序外,有时候我们需要对多维数组进行排序,例如排序学生的分数,可以先按照数学成绩排序,再按照英语成绩排序。针对这种需求,Python提供了多种方法进行排序,使用方法如下:


grades = [("Alice", 89, 92), ("Bob", 72, 81), ("Charlie", 95, 97), ("Dave", 85, 82)]
sorted_grades = sorted(grades, key=lambda x: (x[1], x[2]), reverse=True)
print(sorted_grades)
# 输出结果为 [('Charlie', 95, 97), ('Alice', 89, 92), ('Dave', 85, 82), ('Bob', 72, 81)]

以上代码通过sorted()函数对分数进行排序,先按照数学成绩排名,如果数学成绩相同则按照英语成绩排名,实现了多维数据的排序。

五、总结

Python提供了多种方法对数组进行排序,包括使用内置的sort()函数、sorted()函数,以及lambda函数等。此外,还可以针对多维数组进行排序,实现更多样化的排序需求。无论使用哪种方法,都可以通过参数传递实现不同规则的排序操作。

标签:sort,函数,Python,sorted,array,排序
From: https://www.cnblogs.com/wyl-520/p/17715797.html

相关文章

  • Python速成脚本小子(20道基础题)
    Python速成脚本小子(20道基础题)基础介绍当今社会,编程已经成为了一种必备的技能。而Python,作为一门高效简洁的编程语言,备受大家的喜爱。Python语言易学易用,非常适合初学者入门,同时也是各大公司招聘的必备技能之一。那么,如何快速入门Python,成为一个Python速成脚本小子呢?以下是一......
  • 深入解析 MySQL 中的字符串处理函数:RIGHT()、LEFT() 和 CHAR_LENGTH
    在MySQL数据库中,字符串处理是一个常见的任务,特别是当你需要从字符串中提取特定部分或者计算字符串的长度时。我们在之前的博文中已经介绍过SUBSTRING_INDEX()、SUBSTRING_INDEX()、SUBSTRING_INDEX(),感兴趣的朋友了可以翻一下我们之前的博文;在本文中,我们将深入探讨三个重要的字......
  • python回顾之采集豆瓣评分信息
    1、分析题目--同样是对页面的部分数据进行分析2、编写url、user-agent等必要条件参数params内容在负载里面就能看到啦!3、将得到的list_data写成json数据4、查看执行结果成功!......
  • python中dump和dumps的区别
    dumpdump是将json数据写进文件dumpsdumps是将字典类型的数据转换为字符串如果不能区分好这两个函数,就很容易犯这个错误:TypeError:init()gotanunexpectedkeywordargument'fp'(别问我为啥知道奥~)......
  • How to get a variable data type in Python 3 All In One
    HowtogetavariabledatatypeinPython3AllInOnetypeofinjstype(var)&isinstance(var,type)#!/usr/bin/envpython3#mixlistlt=[1,2,{'k':'v'},{1,'str'}]dt=dict()for[i,item]inenumerate(lt):......
  • 无涯教程-JavaScript - SUMIF函数
    描述您可以使用SUMIF函数对满足指定条件的范围内的值求和。语法SUMIF(range,criteria,[sum_range])争论Argument描述Required/Optionalrange您要通过条件判断的单元格范围。每个范围中的单元格必须是数字或包含数字的名称,数组或引用。空白和文本值将被忽略。......
  • Python游戏开发:Pygame库入门
    Pygame是一个开源的Python库,用于开发2D游戏。它提供了许多功能,如游戏开发、音频处理和事件处理。安装Pygame库您可以通过以下命令在终端中安装Pygame库:pipinstallpygame创建游戏窗口要创建一个游戏窗口,您可以使用以下代码:importpygamepygame.init()#设置窗口尺寸window_......
  • Python转换JavaScript
    将导入了第三方库的Python代码转换成JavaScript代码的几种方法包括: 1.使用Transcrypt进行转换 Transcrypt可以将Python代码转换为高效的JavaScript代码,并且支持导入使用其他Python库的代码。这意味着你可以使用Transcrypt将包含第三方库的Python代码转换为JavaScript代码。......
  • iOS开发Swift-回调函数
    回调函数:回调函数是一种将函数作为参数传递给另一函数的策略。当特定事件或条件发生时,传递的函数(即回调函数)将被调用。这种机制允许在事件发生时执行自定义的代码,因此它是异步编程的重要组成部分。在Swift中,可以使用闭包(closure)或函数作为回调函数。假设你有一个函数叫做greet(......
  • Python第六章函数(1)普通函数
    1.基本定义:def函数名(参数列表):函数体2.可以选择性用文档字符串存放函数说明,可以用help()和“函数名._doc_”查看函数注释。3.函数标注4.return语句:不带表达式的return返回none。5.全局变量和局部变量:x=200deffun():x=100则函数内......