当前位置: 首页 > news >正文

python中lambda、yield、map、filter、reduce的使用

1、 匿名函数lambda

python中允许使用lambda关键字定义一个匿名函数。所谓的匿名函数就是说使用一次或者几次之后就不再需要的函数,属于“一次性”函数。

#例1:求两数之和
f = lambda x, y: x + y
print(f(5, 1))#例2:求平方和
print((lambda x, y: x**2 + y**2) (3, 4)) #执行结果6 25

2、关键字 yield

yield可以将函数执行的中间结果返回但是不结束程序。

yield关键字可以把一个函数变成一个生成器(generator)。

实现一个range函数

>>> def fun(x):
...     i = 0
...     while i<x:
...             yield i
...             i+=1
...
>>> for i in fun(7):
...     print(i)
...
0
1
2
3
4
5
6

实现斐波那契数列

>>> def fab(x):
...     a, b, n = 0, 1, 0
...     while n<x:
...             a, b = b, a+b
...             yield b
...             n += 1
...
>>> for i in fab(10):
...     print(i)
...
1
2
3
5
8
13
21
34
55
89

3、遍历函数(map)

map函数用于遍历序列。

>>> def func(a, b):
...     return a+b
...
>>> li = [1,2,3,4]
>>> def func(a):
...     return a+100
...
>>> print(list(map(func, li)))
[101, 102, 103, 104]  >>> li = [1,2,3,4]
>>> print(list(map(lambda x: x**2, li)))
[1, 4, 9, 16]>>> li = [1,2,3,4]
>>> lo = [5,6,7,8]
>>> print(list(map(lambda x, y: x**2 + y**2, li, lo)))
[26, 40, 58, 80]
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(map(lambda x: x > 5, li)))
[False, False, False, False, False, True, True, True, True]

4、筛选函数(filter)

筛选函数用于对序列中的元素进行筛选,最终获取符合条件的序列。

>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(filter(lambda x: x>5, li)))
[6, 7, 8, 9]

5、累计函数(reduce)

对序列中的所有函数进行类操作。

>>> from functools import reduce
>>> li = [1,2,3,4,5]
>>> reduce(lambda a, b: a+b, li)
15<br>#第三个参数为初始值,在此值之上进行累计
>>> reduce(lambda a, b: a+b, li, 100)
115
>>> 
http://www.lryc.cn/news/68875.html

相关文章:

  • 第十八章 使用LNMP架构部署动态网站环境
  • 无人值守的IDC机房动环综合运维方案
  • 桌面远程工具推荐
  • MySQL高级——第15章_锁
  • 【ROS】Ubuntu22.04安装ROS2(Humble Hawksbill)
  • 【ChatGPT】体验一下ChatGPT
  • Android 串口通信
  • Python3 日期和时间
  • Go 爬虫三种框架的基本使用介绍
  • python实现斐波那契数列详解(黄金分割)
  • 整合营销和内容营销哪个好,有什么区别
  • C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列
  • Java 细节汇总(5)-Comparator#compare() 升降序确定
  • 湖北棒球发展报告·棒球5号位
  • 使用Eclipse 进行远程 Debug 调试
  • 记第一次出差得出的经验
  • 第12章:视图
  • Word控件Aspose.Words教程:操作 XPS 和 EPS 文档
  • java并发-Exchanger
  • 毫米波雷达系列 | 传统CFAR检测(自适应类)
  • 【2023/05/19】NFA
  • 汽车功能安全
  • 【Python】数据分析与可视化实践:收支日统计数据可视化的实现
  • Halcon 中_xld算子的概念与应用? select_shape_std 和 select_shape_xld区别?
  • [pgrx开发postgresql数据库扩展]7.返回序列的函数编写(3)多行表序列
  • 刚入职,就想跑路了...
  • 如何让技术架构师具有预知未来业务发展的能力
  • 卷麻了,新来的00后实在是太卷了...
  • 单片机--实战练习
  • Go Etcd 分布式锁实战