py高阶函数之filter和sorted
2017-05-20 本文已影响0人
小灰灰233
一、filter用于过滤序列
1,、与map类似的接收一个函数和一个序列
将函数作用于每个元素,根据返回值true/false决定保留还是舍弃
奇偶数
def is_odd(n):
return n%2 ==1
list(filter(is_odd,[1,2,3,4,5]))
删掉空字符串
return s and s.strip()
注:返回的是iterator,为惰性数列,需要用list函数返回所有结果
2、用filter求素数
Paste_Image.png遇到的问题
二、sorted排序
1、直接排序
2、自定义排序(接收key函数)
sorted([26,5,-2,-8].key=abs)
3、字符串排序
按照ascll码
(大写字母会在小写字母前面)
提出忽略大小写
key=str.lower变小写
reverse=true反向排序