每天一点小进步(1):lambda实现列表过滤&trim函数实现

一、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
原文地址:https://www.cnblogs.com/wx2017/p/12849775.html