# 排序算法
# 排序也是在程序中经常用到的算法。
# 无论使用冒泡排序还是快速排序，排序的核心是比较两个元素的大小。
# 如果是数字，我们可以直接比较，但如果是字符串或者两个dict呢？直接比较数学上的大小是没有意义的，
# 因此，比较的过程必须通过函数抽象出来。

print(sorted([16, 4, 5, 3 , -21]))

# sorted()也是一个高级函数

# 按照绝对值大小排序
print(sorted([16, 4, 5, 3 , -21], key = abs))

print(sorted(['bob', 'about', 'Zoo', 'Credit'], key = str.lower))


# 用sorted()排序的关键在于实现一个映射函数。