Python系列(22)—— 排序函数

简介: Python系列(22)—— 排序函数

Python中的排序函数

一、引言

在Python中,排序是一个常见的操作,用于将列表、元组或其他可迭代对象的元素按照一定顺序进行排列。Python提供了多种排序函数和方法,使得排序操作变得简单而高效。本文将详细介绍Python中的两个主要排序函数:sorted()sort(),并通过代码实例来展示它们的用法。

二、sorted()函数

sorted()函数是Python内置的一个排序函数,它可以对任何可迭代的对象进行排序,并返回一个新的已排序的列表。sorted()函数的基本语法如下:

sorted(iterable, key=None, reverse=False)
  • iterable:要排序的可迭代对象,如列表、元组等。
  • key:可选参数,用于指定排序时比较的依据。可以是一个函数,也可以是一个字符串。如果指定为函数,则该函数将被用于从每个元素中提取比较键;如果指定为字符串,则使用该字符串作为元素的属性名来提取比较键。
  • reverse:可选参数,布尔值,表示是否进行降序排序。默认为False,表示升序排序。

代码实例

# 使用sorted()函数对列表进行升序排序
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]
# 使用sorted()函数进行降序排序
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)  # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
# 使用sorted()函数按照字符串长度进行排序
words = ['apple', 'banana', 'cherry', 'date']
sorted_words = sorted(words, key=len)
print(sorted_words)  # 输出:['date', 'apple', 'cherry', 'banana']

三、sort()方法

sort()方法是列表对象的一个方法,用于对列表进行原地排序,即不返回新的列表,而是直接修改原列表。sort()方法的基本语法如下:

list.sort(key=None, reverse=False)
  • key:与sorted()函数中的key参数相同,用于指定排序时比较的依据。
  • reverse:与sorted()函数中的reverse参数相同,表示是否进行降序排序。

代码实例

# 使用sort()方法对列表进行升序排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort()
print(numbers)  # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
# 使用sort()方法进行降序排序
numbers.sort(reverse=True)
print(numbers)  # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

四、总结

本文介绍了Python中的两个主要排序函数:sorted()sort()sorted()函数返回一个新的已排序的列表,而sort()方法则直接修改原列表。通过代码实例,我们展示了如何使用这两个函数对列表进行排序,并讨论了它们的特性和用法。在实际开发中,根据具体需求选择适合的排序函数或方法,可以提高代码的可读性和效率。

相关文章
|
4天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
19 0
|
5天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
16 2
|
16天前
|
Python
python函数的参数学习
学习Python函数参数涉及五个方面:1) 位置参数按顺序传递,如`func(1, 2, 3)`;2) 关键字参数通过名称传值,如`func(a=1, b=2, c=3)`;3) 默认参数设定默认值,如`func(a, b, c=0)`;4) 可变参数用*和**接收任意数量的位置和关键字参数,如`func(1, 2, 3, a=4, b=5, c=6)`;5) 参数组合结合不同类型的参数,如`func(1, 2, 3, a=4, b=5, c=6)`。
16 1
|
8天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
40 1
|
9天前
|
索引 Python
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
10 0
|
11天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
55 0
|
11天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
|
12天前
|
Python
python学习10-函数
python学习10-函数
|
12天前
|
Python
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
|
12天前
|
存储 索引 Python
python学习5-列表的创建、增删改查、排序
python学习5-列表的创建、增删改查、排序