python的sorted函数
sorted很简单,没太多好写的 ,只是给自己做个笔记。
sorted接受三个参数,返回一个排序之后的list。
第一个接受一个可迭代的对象(因为sorted实现了迭代协议,所以接受的参数不一定需要list,可以迭代的对象就可以,也是duck typing),返回一个排序之后的列表。
第二个接受一个布尔值,选择是否反转排序结果。
第三个接受一个回调函数,这个回调函数只能有一个参数(如果有多个参数,请用偏函数),根据这个函数的返回值进行排序。
这个返回值并不限定于这个可迭代对象的某个的元素,比如可以将每个元素中的某个key对应的value作为排序的依据,也可以根据其他结果,比如绝对值进行排序。
上个很简单的实例代码:
完整代码: https://github.com/blackmatrix7/python-learning/blob/master/function_/sorted.py
__author__ = 'blackmatrix' temp_list = [4, -5, 7, 1, -3, 2, -9] if __name__ == '__main__': print(sorted(temp_list)) # 反转 print(sorted(temp_list, reverse=True)) # 根据绝对值排序 print(sorted(temp_list, key=lambda key: abs(key)))
输出结果
[-9, -5, -3, 1, 2, 4, 7] [7, 4, 2, 1, -3, -5, -9] [1, 2, -3, 4, -5, 7, -9]