|
|
内置排序方式
Python 有一个内置的快速排序函数,称为 sorted() 和 sort() 。 它使用 Timsort 。
考虑使用内置的排序功能。
1) 获取一个新的数组 B ,它与按升序排列的数组 A 相匹配(默认情况下,按升序排列):
B = 排序(A)
2) 获取一个新的数组 B 匹配数组 A 降序排列:
B = 已排序(A,反向 = 真)
reverse - 翻译自英文“reverse”。
3) 要执行非标准排序,需要一个排序键 - 参数 key 。
要按数字的最后一位升序排序,键将是数字的最后一位。
为此,您需要编写一个函数,将所需的密钥返回给我们——在我们的例子中,是数字的最后一位。
# 返回排序键的函数
# - 数字的最后一位
def lastDigit(n):
返回 n%10
B = 已排序(A,key = lastDigit)
4) 使用lambda函数- 没有名字的函数。
如果您不想编写单独的函数,因为它很简单,那么您可以使用所谓的 lambda 函数。此类函数调用时直接写在key 参数中。
B = sorted(A, key = lambda x: x % 10)
5)如果你需要对数组进行“就地”排序(不分配额外的数组),最好使用 sort() . 方法
例如,按降序对数组 A 进行排序如下所示:
A.sort(key = lambda x: x % 10, reverse = True)
|