sort排序函数用法(sort排序后怎么输出)

【sort排序函数用法】

简介:

sort是一种常用的排序函数,可以对数组、列表或字符串进行排序。它的用法非常灵活,可以根据自定义的比较函数来进行排序,也可以根据默认的比较规则进行排序。

多级标题:

一、基本用法

二、自定义比较函数

三、示例应用

一、基本用法:

sort函数的基本用法非常简单,只需要传入待排序的数据即可。例如,对一个整数数组进行排序的代码如下:

```python

arr = [8, 3, 5, 1, 9]

arr.sort()

print(arr)

```

输出结果为:[1, 3, 5, 8, 9]

sort函数会修改原始数组,并按照默认的比较规则(从小到大)进行排序。

二、自定义比较函数:

有时候我们需要根据自定义的比较规则进行排序,这时可以通过传递一个比较函数给sort函数来实现。比较函数接受两个参数,分别是待排序的两个元素,返回一个负数表示第一个元素应该在前面,返回一个正数表示第二个元素应该在前面,返回0表示两个元素位置不变。

例如,我们要对一个字符串列表按照字符串的长度进行排序,可以使用以下代码:

```python

def compare_length(str1, str2):

return len(str1) - len(str2)

arr = ["apple", "banana", "cherry", "dragonfruit"]

arr.sort(key=compare_length)

print(arr)

```

输出结果为:['apple', 'cherry', 'banana', 'dragonfruit']

在这个例子中,我们定义了一个比较函数compare_length,它返回两个字符串的长度差。sort函数根据比较函数的返回值进行排序。

三、示例应用:

sort函数在实际应用中非常常见,可以用于对数据进行排序、去重、按照指定规则筛选等操作。

例如,我们要对一个学生列表按照成绩降序排序,可以使用以下代码:

```python

class Student:

def __init__(self, name, score):

self.name = name

self.score = score

def __str__(self):

return self.name

students = [Student("Alice", 80), Student("Bob", 90), Student("Charlie", 70)]

students.sort(key=lambda student: student.score, reverse=True)

print([str(student) for student in students])

```

输出结果为:['Bob', 'Alice', 'Charlie']

在这个例子中,我们定义了一个Student类,使用lambda表达式将学生的成绩作为排序依据,并按照降序进行排序。

总结:

sort函数作为一个强大的排序工具,可以根据默认的比较规则或自定义的比较函数对数组、列表或字符串进行排序。它的用法简单灵活,帮助我们快速实现各种排序需求。

标签列表