11月25日学习笔记__filter 和 sorted
首先要明确的一点是:在python中filter()
函数用于过滤序列.他的作用就是把传入的函数依次作用于每个元素,然后根据返回值是True
还是False
决定保留还是丢弃该元素。
所以我将它理解为一个筛子...筛糠用的
filter()
函数返回的是一个Iterator
,也就是一个惰性序列,所以要强迫filter()
完成计算结果,需要用list()
函数获得所有结果并返回list.
我习惯性的用for ..in...的方法拉出结果,个人喜好,还有比较方便的就是用函数式..一行搞定,简单直接有效,所以不管什么时候函数式能做的事情真的很多
filter可以和函数进行配合,筛选自己不需要的内容,
最后讲解一下廖雪峰老师的课后题的解法...应该是将数字转换成str之后就可以用list切片的方法使用,具体看截图:
二 关于sorted函数:
首先需要明白的就是sorted是一个高阶的排序函数,它不仅可以接收一个key
函数来实现自定义的排序,还可以使用在简单的list上进行排序,所以作用很多,要学会灵活运用
因为sorted是一个高级函数,所以后面可以跟一组函数,表示对函数进行了筛选或者指定性的说明,要求排序必须按照后面的说明进行组合
而要说明的一点是在默认情况下,对字符串排序,sorted是按照ASCII的大小比较的
关于课后题,其实很简单,用到了两个知识,一个是新的,sorted的使用,另外一个最重要的一点就是用到了list的切片......结果如下