\qquad sorted函数会返回一个可迭代对象经过排序后的迭代器,sorted对于number类型的可迭代对象会按照数值大小排序,对于字符串则按照ASCII码顺序排序,但如果要返回排序的index怎么呢?
\qquad sorted有一个功能就是根据key参数比较大小排序,key是一个callbale的函数,使用方法如下:
>>> a = [3,2,5,1,8,21,4]
>>> list(sorted(a))
[1, 2, 3, 4, 5, 8, 21]
>>> list(sorted(range(len(a)),key=lambda i:a[i]))
[3, 1, 0, 6, 2, 4, 5]
排序的时候sorted函数会将a[i]
的数组i,因此数组i正好对应了a排序的argsort。a[i[0]]