关于python中sort()的小问题

temp=[7,9,9,1,3,1,5,6,7,6,9,7,3,6,2]
temp.sort(key=numbers.index)
print(temp)
[7,9,1,3,5,6,2]
本人不理解的是:1、这里排序规则key的意思,是按照找列表中的数字首次出现的次序来排序吗?
2、另外sort默认是升序的,但输出结果却不是按照升序的,是否是reverse属于key排序规则中的一种,然后这边的key已经按照numbers.index规则来进行排序,所以就不存在升序还是降序嘞
希望前备们可以帮忙解答一下,麻烦了!

这个是sort 的另类用法:去重。
通过列表中索引(index)的方法保证去重后的顺序不变。

sort(*, key=None, reverse=False)
此方法会对列表进行原地排序,只使用 < 来进行各项间比较。异常不会被屏蔽——如果有任
何比较操作失败,整个排序操作将失败(而列表可能会处于被部分修改的状态)。
sort() 接受两个仅限以关键字形式传入的参数 (仅限关键字参数):
key 指定带有一个参数的函数,用于从每个列表元素中提取比较键 (例如 key=str.lower)。
对应于列表中每一项的键会被计算一次,然后在整个排序过程中使用。默认值 None 表示直
接对列表项排序而不计算一个单独的键值。
可以使用functools.cmp_to_key() 将 2.x 风格的 cmp 函数转换为 key 函数。
reverse 为一个布尔值。如果设为 True,则每个列表元素将按反向顺序比较进行排序。
当顺序大尺寸序列时此方法会原地修改该序列以保证空间经济性。为提醒用户此操作是通过
间接影响进行的,它并不会返回排序后的序列(请使用sorted() 显示地请求一个新的已排
序列表实例)。
sort() 方法确保是稳定的。如果一个排序确保不会改变比较结果相等的元素的相对顺序就
称其为稳定的 --- 这有利于进行多重排序(例如先按部门、再接薪级排序)。
有关排序示例和简要排序教程,请参阅 sortinghowto 。
CPython implementation detail: 在一个列表被排序期间,尝试改变甚至进行检测也会造成未
定义的影响。 Python 的 C 实现会在排序期间将列表显示为空,如果发现列表在排序期间被改
变将会引发ValueError。