Python--内置函数与推导式(上)

news/2025/2/26 8:21:09

1. 匿名函数

Lambda表达式基础

  • 语法:lambda 参数: 表达式​

  • 特点:

    • 没有函数名,适合简单逻辑
    • 函数体只能是单行表达式
    • 自动返回表达式结果
# 示例1:加法
add = lambda a, b: a + b
print(add(3, 5))  # 输出 8

# 示例2:字符串处理
replace_lambda = lambda s: s.replace("Python", "Java")
print(replace_lambda("Python is awesome!"))  # 输出 "Java is awesome!"

三元运算与Lambda结合

# 根据数字奇偶性返回描述
func = lambda x: "偶数" if x % 2 == 0 else "奇数"
print(func(7))  # 输出 "奇数"

限制与注意事项

  • 无法处理多行逻辑(需用普通函数)
  • 可读性较差,复杂逻辑慎用

2. 生成器

生成器函数

  • 使用yield​关键字定义生成器函数

  • 执行特点:

    • 调用生成器函数返回生成器对象
    • 通过next()​或循环逐步执行
    • 每次yield​暂停,下次从暂停处继续
def count_down(n):
    while n > 0:
        yield n
        n -= 1

gen = count_down(3)
print(next(gen))  # 3
print(next(gen))  # 2

生成器表达式

  • 语法类似列表推导式,使用()​
  • 惰性求值,节省内存
gen_exp = (x**2 for x in range(5))
print(list(gen_exp))  # [0, 1, 4, 9, 16]

应用场景

  • 处理大规模数据(如文件逐行读取)
  • 无限序列生成(如斐波那契数列)

http://www.niftyadmin.cn/n/5868372.html

相关文章

selenium如何实现,开启浏览器的开发者工具模式,并且开启 toggle移动设备模拟模式

核心实现代码 pythonCopy Code from selenium import webdriver from selenium.webdriver.chrome.options import Options def enable_devtools_with_toggle(): options Options() # 强制开启开发者工具 options.add_argument("--auto-open-devtools-for-tabs&quo…

【图像处理 --- Sobel 边缘检测的详解】

Sobel 边缘检测的详解 目录 Sobel 边缘检测的详解1. 梯度计算2. 梯度大小3. 梯度方向4. 非极大值抑制5. 双阈值处理6. 在 MATLAB 中实现 Sobel 边缘检测7.运行结果展示8.关键参数解释9.实验与验证 Sobel 边缘检测是一种经典的图像处理算法,用于检测图像中的边缘。它…

《Linux命令行和shell脚本编程大全》第二章阅读笔记

二.走进shell 1.进入命令行 在图形化桌面出现之前,和 Unix 系统交互的唯一方式就是通过 shell 提供的文本命令行界面(command line interface,CLI)。CLI 只允许输入文本,而且只能显示文本和基本图形输出。由于此限制…

数据结构与算法-图论-最短路和其他的结合

介绍 最短路算法常与深度优先搜索(DFS)、动态规划(DP)、二分答案、拓扑排序等算法结合使用: - 最短路与DFS结合:在一些图的路径问题中,当需要访问特定的多个结点,且数据范围较小时…

RK3399 Android7双WiFi功能实现

在Android系统里面,WiFi功能STA和AP模式是互斥的,而现在越来越多的WiFi模组或者芯片能支持并发模式,即STA+P2P、STA+STA或者STA+AP模式组合。不管是单WiFi并发,还是双WiFi模组,想让STA和AP两个模式同时运行,对于Android7来说,是需要修改到系统源码,才能让APP层用Androi…

SSM和SpringBoot有什么区别?

SSM(Spring、Spring MVC、MyBatis)和 Spring Boot 有以下一些区别: 配置方式 SSM:配置相对繁琐,需要在多个 XML 文件中进行大量的配置。Spring Boot:采用“约定大于配置”的原则,极大地简化了配…

论文笔记(七十二)Reward Centering(五)

Reward Centering(五) 文章概括摘要附录B 理论细节C 实验细节D 相关方法的联系 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arX…

Nacos + Dubbo 实现微服务的Rpc调用

文章目录 概念整理基本概念概念助记前提Rpc与HTTP类比RPC接口类的一些理解 项目代码接口类定义实现提供者项目POM文件项目代码文件项目配置文件运行项目补充说明 实现消费者项目POM文件项目代码文件项目配置文件运行项目补充说明 本文参考自SpringCloudDubboNacos整合实现RPC调…