python 记录

Python 中的生成器表达式

基本语法结构
python 复制代码
(表达式 for 循环变量 in 可迭代对象 if 条件判断)

if 条件判断可选

举例
生成器表达式写法(代码中的简洁写法)
python 复制代码
left_count = sum(1 for i in range(lo, hi + 1) if nums[i] == left)
普通 for 循环写法(等价,更易理解)
python 复制代码
left_count = 0  # 初始化计数器
for i in range(lo, hi + 1):  # 遍历区间索引
    if nums[i] == left:  # 条件判断
        left_count += 1  # 满足条件则计数器+1

匿名函数(lambda 表达式)

python 复制代码
lambda 参数列表: 表达式

表达式计算的结果就是返回值

举例
匿名函数写法
python 复制代码
# 嵌套生成器表达式 + sum()
count_odd = lambda nums: sum(1 for i in nums if i % 2 != 0)
print(count_odd([1,2,3,4,5]))  # 返回 3(奇数的个数)
等价写法
python 复制代码
# 等价的普通函数
def count_odd_numbers(nums):
    odd_count = 0
    for i in nums:
        if i % 2 != 0:
            odd_count += 1  
    return odd_count  
相关推荐
沈浩(种子思维作者)7 分钟前
系统要活起来就必须开放包容去中心化
人工智能·python·flask·量子计算
2301_7903009612 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
weixin_4997715512 分钟前
C++中的组合模式
开发语言·c++·算法
初级代码游戏13 分钟前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
_waylau17 分钟前
鸿蒙架构师修炼之道-架构师的职责是什么?
开发语言·华为·harmonyos·鸿蒙
2的n次方_28 分钟前
CANN Ascend C 编程语言深度解析:异构并行架构、显式存储层级与指令级精细化控制机制
c语言·开发语言·架构
m0_7369191028 分钟前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
getapi30 分钟前
实时音视频传输与屏幕共享(投屏)
python
java干货1 小时前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
_F_y1 小时前
C语言重点知识总结(含KMP详细讲解)
c语言·开发语言