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