Python的sort()函数——列表排序
发布时间:2023-10-07 12:03:16
Python的sort()函数是用来对列表进行排序的。它可以按照升序或降序对列表中的元素进行排序。
sort()函数使用的是就地排序算法,即原地修改列表,而不会创建新的列表。因此,在调用sort()函数对列表进行排序时,原列表的顺序会发生变化。
sort()函数有两个可选参数:reverse和key。
reverse参数用来指定排序的顺序。如果reverse=True,则表示降序排序;如果reverse=False,则表示升序排序。默认值是False。
key参数用来指定一个函数,该函数会应用到列表的每个元素上,并返回一个用来比较的排序关键字。这样就可以根据列表中的某个属性或值进行排序。如果不指定key函数,则默认按照元素的原始值进行排序。
下面是一个使用sort()函数对列表进行排序的例子:
numbers = [5, 2, 8, 1, 6]
numbers.sort()
print(numbers) # 输出:[1, 2, 5, 6, 8]
fruits = ['apple', 'banana', 'orange', 'pear']
fruits.sort(reverse=True)
print(fruits) # 输出:['pear', 'orange', 'banana', 'apple']
students = [
{'name': 'Tom', 'age': 20},
{'name': 'John', 'age': 18},
{'name': 'Alice', 'age': 22}
]
students.sort(key=lambda student: student['age'])
print(students) # 输出:[{'name': 'John', 'age': 18}, {'name': 'Tom', 'age': 20}, {'name': 'Alice', 'age': 22}]
在第一个例子中,sort()函数按照升序对numbers列表进行排序,并覆盖原始的顺序。
在第二个例子中,sort()函数按照降序对fruits列表进行排序,并覆盖原始的顺序。
在第三个例子中,由于students是一个包含字典的列表,我们使用了key参数来指定排序的关键字是字典中的'age'属性。通过lambda函数,我们定义了一个匿名函数,该函数接受一个学生字典,然后返回学生的年龄。sort()函数根据这个年龄信息进行排序。
总的来说,sort()函数是一个非常方便的工具,可以快速对列表进行排序。通过设置reverse参数和key参数,我们可以对列表按照特定的需求进行排序。
