在Python中,您可以使用`sorted()`函数或列表的`sort()`方法对数据进行排序。以下是使用这些函数进行排序的基本方法:
使用`sorted()`函数
`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]
使用`sort()`方法
`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]
自定义排序规则

您可以通过`key`参数传递一个函数来自定义排序规则。
自定义排序函数,按照元素的绝对值进行排序def custom_sort(x):return abs(x)numbers = [-3, 1, -4, 1, 5, 9, -2, 6, 5, 3, 5]sorted_numbers = sorted(numbers, key=custom_sort)print(sorted_numbers) 输出:[1, 1, -2, 3, 3, -3, 4, 5, 5, 5, 6, 9]
自定义比较函数
您还可以通过`cmp`参数传递一个比较函数来自定义排序规则。
自定义比较函数def custom_cmp(x, y):if x < y:return -1elif x > y:return 1else:return 0numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]sorted_numbers = sorted(numbers, cmp=custom_cmp)print(sorted_numbers) 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
请注意,`cmp`参数在Python 3中已被弃用,并在Python 3.10中被移除。在Python 3中,您应该使用`key`参数和`lambda`函数来代替。
