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  
相关推荐
做怪小疯子17 小时前
华为笔试0429
python·numpy
Warson_L17 小时前
Dictionary
python
JAVA面经实录91717 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
周杰伦fans18 小时前
AutoCAD .NET 二次开发:深入理解 EntityJig 的工作原理与正确实现
开发语言·.net
寒山李白19 小时前
解决 python-docx 生成的 Word 文档打开时弹出“无法读取内容“警告
python·word·wps·文档·docx·qoder
2401_8323655220 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Sirius.z20 小时前
第J3周:DenseNet121算法详解
python
Bat U20 小时前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰20 小时前
C++ 排列组合完整指南
开发语言·c++·算法