一、lambda 实现列表过滤:
python内置函数filter()
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
语法:
filter(function, iterable)
python 使用 lambda 来创建匿名函数。
- lambda只是一个表达式,函数体比def简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法:
lambda [arg1 [,arg2,.....argn]]:expression
具体实现:
list(filter(lambda x: x> 0, [0,-1,2,-4,5]))
过滤列表中小于0的元素
二:使用切片实现trim函数功能
def trim(string): if string[0] == " ": if string[-1] == " ": return string[1:-1] else: return string[1:] elif: if string[-1] == " ": return string[:-1] else: return string