【Python学习笔记Day21】4.5 函数之lambda表达式

4.5 函数之lambda表达式

  • 1.lambda表达式的使用
        • 1)使用lambda定义
        • 2)直接赋值调用
  • 2. lambda表示式的作用,一般配合linux系统来写脚本
  • 3.两个BIF内置函数
        • 1)filter()函数
        • 2)map()函数 用作映射

lambda表达式 匿名函数

1.lambda表达式的使用

def ds(x):
    return 2 * x + 1

print(ds(5))#调用函数,返回11

在这里插入图片描述

1)使用lambda定义

对于一个参数

lambda x : 2 * x + 1            #lambda构建函数对象,返回一个函数型
print(lambda x : 2 * x + 1)     #会打印内存中的地址

在这里插入图片描述

2)直接赋值调用

g = lambda x : 2 * x + 1
print(g(5))

#对于多个参数
def add(x,y):
    return x + y

add(3,4)    #调用函数
#改为lambda函数
f = lambda x,y : x + y
print(f(1,6))

在这里插入图片描述

2. lambda表示式的作用,一般配合linux系统来写脚本

1)python写一些执行脚本时,使用lambda就可以省下顶峰一函数的过程,比如说我们知识需要写个简单的脚本来管理服务器的时间,
我们就不需要专门定义一个函数,然后再写调用,使用lambda就可以使得代码更加精简
2)对于一些比较抽象并且整个程序执行下来只需要调用一两次函数,有时候给函数起个名字也是比较头疼的问题,使用lambda就
不需要考虑命名的问题了
3)简化代码的可读性,由于普通的函数阅读经常需要跳到开头def定义部分,使用lambda函数就可以省区这样的步骤

3.两个BIF内置函数

1)filter()函数

过滤器函数,可以保留关注的信息,不关注的可删除

查看help文档

print(help(filter))

filter(None,[1,0,False,True])       #把任何非True的内容给过滤掉,
list1 = list(filter(None,[1,0,False,True]))
print(list1)                        #打印[1,True]

【Python学习笔记Day21】4.5 函数之lambda表达式_第1张图片
利用lambda给出一个筛选出奇数 的过滤器

1.普通方法

def odd(x):
    return x%2
temp = range(10)
show = filter(odd,temp)     #得到一个迭代器,结果为1-10过滤掉偶数,只有奇数的列表
print(list(show))

2.利用lambda函数来过滤

filter(lambda x: x%2,range(10))
list2 = list(filter(lambda x: x%2,range(10)))
print(list2)

在这里插入图片描述

2)map()函数 用作映射

返回所有加工完后的元素构成新序列
两个内置函数,一个函数和一个可迭代的序列

list3 = list(map(lambda x: x*2,range(10)))      #把一个序列的值,带入到lambda函数中
print(list3)

在这里插入图片描述

你可能感兴趣的:(Python脚本语言)