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  
相关推荐
培林将军1 分钟前
C语言指针
c语言·开发语言·算法
云栖梦泽4 分钟前
鸿蒙分布式应用全链路性能调优实战
开发语言·鸿蒙系统
yongui478349 分钟前
基于卡尔曼滤波的电池荷电状态(SOC)估计的MATLAB实现
开发语言·算法·matlab
yuan1999719 分钟前
H264视频压缩matlab帧内预测帧间预测熵编码
开发语言·matlab
aini_lovee20 分钟前
基于MATLAB GUI的信号处理系统设计与实现
开发语言·matlab·信号处理
拾柒SHY31 分钟前
Python爬虫入门自学笔记
笔记·爬虫·python
kylezhao201931 分钟前
C#上位机实现权限管理
开发语言·c#
Franciz小测测32 分钟前
如何实现 Web 触发后的“离线”升级?Systemd 异步机制与 A/B 状态机切换详解
python·部署·自动升级·离线升级
古城小栈35 分钟前
rust 借用,三巨头之一
开发语言·rust
小北方城市网35 分钟前
第 9 课:Python 全栈项目性能优化实战|从「能用」到「好用」(企业级优化方案|零基础落地)
开发语言·数据库·人工智能·python·性能优化·数据库架构