00:00
看着啊,来这种东西啊,常识了解一下就可以了啊,到时候出去跟人吹逼的时候有的吹啊,来看这看这,接下来骚TED咱们说过了,它是用来排序的,排序的,排序之后往下接着看该谁了呢?第二个,第二个第二个叫什么叫filter,叫做filter filter干嘛筛选,筛选也就是说当你这个列表里面,或者说你给这个存在对象里面,有些东西是你想要的,有些东西是你不想要的,你把想要的留下来,把不想要的给他剔除掉,这也是筛选的例子啊,筛选的例子举个很简单的例子,我在咱们班筛选出来的女生,把男生都剔除掉啊,那怎么写呢?那应该怎么写呢?科长,你肯定是判断法对不对?你如果你是男生对吧?Get套是吧?Get套,否则的话呢,留下来是吧,留下来对吧,一样道理,看好了filter里面干嘛呢?需要你给第一个参数是个什么呢?是个方式,是个函数,这个函数用。
01:00
来进行筛选,这函数必须返回to或者false来进行筛选,这个函数里面的返回的是to的时候,那么最终你会把这个数据留下来,如果返回false,最终把这个数据筛出去啊筛出去,那么这里面第二个参数是A,也是个可迭代对象,所以这个东西你参照上边的那个那个那个saled,你猜猜他是怎么工作的。你猜一下它是怎么过的?自动发来sorry是怎么工作的?Sorry是怎么工作的?把可见对象里面的每一个元素传给那K这函数里面对不对,然后返回给你一个数据进行一个排序吧,对不对?Filter里面,你看着它里面来一个函数,来一个A,它把可别的对象里边的每一个元素塞到这函数里面去执行,执行之后如果你这个函数执行是真,就给你留下,等于falses呢,返回呢,就把你踢出去,把你踢出去啊,就这么个玩意儿,来看一下这些东西怎么来玩着。
02:02
第四个啊,第四个名四叫filter来在这定义一个函数啊,函数放先准备一个函数,先来个pass,然后接下来准备个列表,List等于方括号123456789啊来这么几个数,那么接下来我想留下这个列表里面所有的基数,留下所有的基数,那基数怎么判断呢?我首先在这里面得往里面传一个数据,数据的话判断re什么呢?I re什么呢?I,余上二等不等于一,等于一就是奇数,等于零就是偶数,对吧?所以等于一,我这是判断奇数来判断奇数好了判断数,奇数有了之后,接下来用filter进行过滤,首先把函数给它扔去放扔去,然后扔谁呢?扔list,扔list,那么这时候好了,它会把list里边的每一项。
03:03
数据,比方说12345671个一个的扔到这放里面去,扔进去之后根据你这个fun函数最终返回的to或者false来决定你这个元素是不是要留下来啊,是不是要留下来,然后看这儿来一个LL,等于它,你仔细看它是个什么玩意儿,打印LL,咱们刚才那S,你这样一打印这个LL应该是直接是个列表对不对?那么现在不是了,等你看返回一个这个玩意,返回一个这个玩意,这个玩意是个啥呢?看好了,还记得这个吗?叫杠杠杠杠in d,我们看看它里面有没有一走,你有没有有对吧?来这证明它是可迭代的对不对?然后再往下放一个什么呢?杠杠next的,如果这俩都是处是个啥玩意,迭代器对吧?什么东西迭代器,也就是说filter给你处理。
04:03
完的结果是什么玩意,迭代器好了,从迭代器里面想拿到数据的话,应该怎么玩的怎么玩来着来我可不可以这么玩,List小括号LL扔进去可以吧,对吧?这是把连接器里面元素拿出来组装成一个什么呢?列表,对吧?来看一下现在什么效果走,你看哪1357是不是奇数,是不是奇数是吧?那这里面就出来了啊就出来了,那么filter里面看好了,它接收两个参数,第一个参数是啥呢?是函数,是一个函数干嘛呢?是将第二个参数中的每一个元素干嘛呢?交给或者传给什么呢?函数啊,传给函数,那么函数如果返回处干嘛呢?留下该元素啊,如果返回false,那这个元素就不会被留下,那这个就是我。
05:03
我们的filter,那么里面第一个函数是个什么?是个是个是个function,那么function的话可以写成这样,还可以写啥拉DA拉DA怎么写这个东西怎么写拉DABDA,然后呢I,然后呢,冒号返回I余上二等于等于一对不对,就这个玩意啊,就这个玩意,那么上面的这个东西就可以干完了,再见啊再见,来走你一行象看我也依然可以进行筛选,怎么了,这边意。后边那绿色的这个必须留着,为啥?这是那可怜的对象,这是那可怜的对象你要筛的东西,你要东西知道吧,你要不留它,你筛的是谁啊,没东西了,没东西了,OK,那这个就是我们的啊filter把这个去写一下啊,把这个去写一下,就写这个跟这个就可以了啊,这个DeFine的这个可以不写啊,写一写来这些东西啊,一句话给你搞定它啊,一句话搞定看好了啊print list,然后呢,叫filter里面放什么呢?Function lada lada里面什么全参数,这然后呢,返回这里面的H怎么办怎么办?大于40是我想要的对吧?第二个参数是list搞定出来了吧。
06:39
搞定了搞定了来这能看懂吗?这个这里面是一个筛选,筛选之后呢,给我变成一个列表,列表之后再给我打印,我一句话搞定了,搞硕士里边写的是硕士写的字。啊,那你找到来好下这个就说到这啊,说到这你要注意的是你的函数必须返回一个true或者false啊,必须返回true或者false,如果你返回别的东西,它也给你当成true和false,所以你的整个函数是不起作用的啊,然后往下接着看,再该是那个map了,是吧?05MAP啊map map是干嘛呢?它是批量的去处理一些个东西,批量的去处理一些东西来看这来往下拉,Map本身叫做映射啊,叫做映射map,映射函数语法map里面看第一个参数function,第二个参数A跟刚才三个数一样的,是一样的对不对,都是一类的东西,所以放到一起讲啊,那么语法可以把可以对可迭代对象中的每一个元素进行映射,分别去执行这个方式听好了。
07:55
它只是分别的去执行,至于你方身里面到底要干嘛,到底要干嘛,这个你随意,这个你随意,那么看着这地方,我们可以干这么个事,比方说我现在随便来这么一列表,求列表里边每个数的一个平方,求列表里边每一个数的平方,那么你就可以用map来去弄这个事啊,来看这看这,来个list,等于方括号1234567啊,够了,然后我现在来列表之后,我现在想去求出的平方,那么DEF方里面给我传了一个数I,然后return I乘I对吧,求个平方,那么这时候我们可以干嘛呢?用ma来进行处理,怎么处理呢?第一个参数是谁?是函数,第二个参是谁呢?是这个list,那么这时候看好了,它会把列表里边的每一项交给前面这个function,交给这fund进行执行。看好了,这就很。
08:55
很典型的MEMORY6的一个思想,想想我现在这list很小啊,很小,如果list很大,比方说咱们班这么多人啊,这么多人,这么多人,我想去处理的话,对吧?会如果一次性用for循环,一个一个处理会很麻烦,会很麻烦,那怎么办呢?我把每一个人啊塞到那个函数里面,把它塞进去,把它塞进去,把它塞进去去处理,处理完之后返回给我一个结果,返回给我结果,这很很很典型的把一个大的及格给它分散下去处理,处理完之后再收回来啊,再收回来,那么这时候看好了map接到的是什么呢?我直接说了,它接到是一个迭代器,跟刚才是一样的,跟刚才是一样的,那么这个时候我们去干嘛呢?去打印list里面谁呢?It sorry list啊走,你跑出来看到了一四九十六二十五三十六四十九,能看懂吧,这个就是我们用麦克进行一个处理,那么有人说了,你刚才说一个一个处理,你现在不还是。
09:55
一个个处理吗?看好了,当你的数据量非常庞大。
我来说两句