00:00
上节课呢,做这么一个事儿,说一个列表,它等于什么呀,等于一个。两个列表项,一个是O1Z,一个是123,那么我这个列表呢,它就不能缩它了,为什么不能它呢?是因为这个。OEZ和123,他俩是没法比较大小的,那怎么才能让他能比较呢?那就得喊救命了,去哪儿喊救命啊?哎,去LIST4点做它这个方法里边找到。找到什么呢?找到这个K,这个K呢,就是这个关键,这个key是什么呢?如果一个关键的函数被给予了,那么应用它就可以得到这个列表项,再排序,也就是说在排序之前,我们可以给它一个函数。我们试一下啊,作为这个列表来说,我给的KK是什么呢?是STRSTR怎么理解?哎,我们看一下STR,就是他把123。
01:04
转成了字符串,然后呢,他再把o easy z o easy z, 其实本身就是字符串,既然它都是字符串,那它就可以比较了,那他怎么比较的呢?其实就是看第一,先看第一个呗。1的序号是不是小于。O的序号啊。那是真的,是真的之后比较出来结果,因为1这个字符的序号小于O这个字符的序号,所以123这个字符串就小于o 1在这个字符串,所以呢,这个列表排序就是什么,先是123,后是OE。即使你是个数值型的,但是呢,经过string之后,把你都转化成字符串了,那它就可以进行排序了,那我可以反过来吗?我都转成什么呀,转成int型行不行。转能力怎样?那不行,Value l值错误,也就是说它作为OEZ来说是没法转成in才行的。
02:02
那OEZ没法转成in特型怎么办呢?我们呀先把这个。O1从字符串中删掉。然后呢,我们再加一个什么呀,加一个。新的字符串。是什么呢?比如说是一二。那LST是什么呢?第一个是一个数值型的123,第二个呢,是字符串型的一二,我们再让他去排序,按什么排序?按照int型的方式去排序,这个时候它怎么样,它是可以排的,你看一二就排在前面了,为什么呀,因为int型的。一二它是多少,是12,它肯定就小于这个int型的一二三呗。那小鱼的结果不就是比出来结果了吗?比出能比就能排序,能排序就能解决这个问题。
03:05
是这么一个过程是吧,这么一个过程,那这个还有什么函数能当这个key吗?我们来看一下。比如说有个treist。是什么呢?三个字符串,第一个是o ez.第二个呢,是O2Z。Z.第三个呢是O3Z,那这三个字符串啊。我们组成一个字符串列表,那这个字符串列表我想排序了,这个排序怎么怎么排呀。使用这么一个key,这个key是什么呢?是Lens。这个Les得到什么呀?一个新的结果。这怎么怎么个意思呢,首先O3Z它的。长度是3O2ZZ,它的长度是4,而O1Z。
04:00
它的长度是几啊,是5哎,所以它就完成了这样一个3<4<5的排序。是这么一个过程,那甚至我其实可以写成什么呀,那字符串列表的第0个列表项是3,字符串列表的第一个列列表项是4,字符串列表第二个列表项是5,得到345。它就是这么一个排布的过程,对吧,传位的过程。那还有什么参数呢?继续喊救命呗。对着绿色列表的缩的方法喊。Self是自己,谁自己谁调用他就是谁自己对吧。那么key呢,就是这个方法,还有一个什么呢?Reverse reverse我们见过,但以前是一个reverse方法,这回呢,是这个reverse参数。什么意思呢?啊,Sending o decending, 升序还是降序?那么根据是什么呢?根据它们的值来判判别这个。
05:01
逆序的这么一个flag旗帜,就可以被用作这个降序的这么一个排序,比如说默认是什么,是false默认。不逆序,默认是升序,但是一旦你把这个flag,这个旗帜,这个标志给它设置好了,哎,这儿有个旗子,只要见样,这旗子就怎么样,就降序,那么它就会降序是吗?我们试一下,让它先自己排一次序是吧?这个时候它就变成or zz在这儿了,因为它是按字符串的排序方式,2<3<E这么一个结构,那reverse怎么怎么用呢?我们可以看SL.sort。这个时候啊,可以让他是。然后他是reverse。等于什么呢?等于处。这个时候就怎么样,就。E>3>2就变成这种这种形形式了。那它跟这个嗯,Reverse有什么关系啊,Reverse就是颠倒。
06:08
但是sortt呢,是在排序的基础之上颠倒,这怎么理解啊?比如说现在我要按Les排序。SL是这样,SL点儿sortt,我是按照Les排序,Les之后呢,是不是还得reverse一次?才能得到5>4>3。对吧,但现在不一样了,现在我嗯。直接怎么样,直接锁他。做的什么呀?K等于。然后让reverse。等于处。这样的话一步到位,5>4>3就完整排序了,诶这个就是两种方式,一个呢是用SL的。
07:01
方法,甭管原来是什么样的。序列直接reverse就头变尾,尾变头调转反转这个序列,但如果说是我用它是一个参数呢,那其实就是把这个。排序先排好了,排好了之后出来一个结果,这个结果是正序呢还是逆序呢?那就是看revers里的参数,就是逆序,如果没有这个参数,或者reverse是force的话。那就是什么呀,就是正序你看。这个就相当于什么呀,就相当于没有reverse这个参数,因为它是默认值嘛。就是3<4<5这么一个状态。有了这个参数之后,你在做他这一步的时候,就可以先排序,再反转一步完成,等于是就更快速了。它有两个参数是吧,Key也是一个参数,这个reverse也是一个参数,我可以把reverse排在前面了,SS.sort什么呀,Reverse.
08:11
等于boss。然后呢,让他K等于。Loose.它也是可以的,这两个参数呢,其实是没有次序的,我们可以把reverse放前面,也可以把key放前面,但是在这个帮助的时候,他确是有次序的。嗯。List列表的它有什么顺序呢?先是Key,后是reverse,那为什么这个时候先放key后放reverse呢?我们下次再说OEZ教程。
我来说两句