首页
文章列表
标签墙
返回找工具啦
迭代器
共 9 篇文章
Python itertools模块实现高效迭代器链式操作
2026-05-07 10:30:07
Python itertools模块实现高效迭代器链式操作 Python 标准库中的 itertools 模块是一组用于处理迭代器的快速、内存高效的工具。使用 Python 原生循环处理大量数据时,往往会因为生成中间列表而占用过多内存。itertools 通过“惰性计算”解决了这个问题,即只在需要时
Python
itertools
迭代器
46
0
Go语言rangefunc自定义迭代器的函数签名
2026-05-05 09:16:37
Go语言rangefunc自定义迭代器的函数签名 Go 1.23 版本将 rangefunc(基于函数的 for range 循环)正式引入标准库。要编写一个能够让 for range 语句遍历的函数,必须严格遵守特定的函数签名规则。这些签名定义了迭代器如何与 Go 运行时交互,以及如何传递数据或终
Go语言
Go1.23
迭代器
39
0
C++ vector扩容时导致迭代器失效的问题与规避方法
2026-04-27 15:30:19
C++ vector扩容时导致迭代器失效的问题与规避方法 1. vector和迭代器的基本概念 创建一个vector对象最常用的方式是: cpp std::vector<int vec; 添加元素到vector中可以使用pushback或emplaceback方法: cpp vec.pushback
C++
vector
迭代器
54
0
C++ std::move_iterator与std::make_move_iterator的用法
2026-04-27 08:23:09
C++ std::moveiterator与std::makemoveiterator的用法 在 C++ 开发中,处理大量数据或包含动态资源的对象(如 std::string、std::vector)时,深拷贝往往会带来巨大的性能开销。为了避免不必要的拷贝,C++11 引入了“移动语义”。通常我们使
C++
移动语义
迭代器
40
0
Python itertools.tee将一个迭代器拆分为多个独立迭代器
2026-04-25 14:22:27
Python itertools.tee将一个迭代器拆分为多个独立迭代器 Python 中的迭代器是一次性资源,一旦遍历结束,就无法重新开始。这导致在需要多次遍历同一数据流,或在不同逻辑分支中处理同一序列时,直接使用原始迭代器会变得非常棘手。itertools.tee 函数正是为了解决这一痛点而设计
Python
itertools
迭代器
42
0
Go语言iter包的Pull迭代器与Push迭代器
2026-04-23 09:27:03
Go语言从1.23版本开始,在标准库中引入了 iter 包,正式确立了迭代器模式。在 iter 包中,迭代器主要分为两种形式:Push(推送)迭代器和 Pull(拉取)迭代器。理解两者的区别与转换是掌握Go新特性的关键。 1. 理解Push迭代器 Push迭代器是Go语言中最基础的迭代器形式,也被称
Go语言
iter包
迭代器
40
0
Python itertools.chain合并多个可迭代对象的惰性求值
2026-04-20 12:22:18
Python itertools.chain合并多个可迭代对象的惰性求值 在处理数据时,经常需要将多个列表、元组或生成器合并在一起进行遍历。直接使用加号 + 合并列表虽然简单,但会在内存中创建一个全新的列表对象,这在处理大数据量时极其消耗内存。使用 itertools.chain 可以在不创建新对象
Python编程
itertools
惰性求值
53
0
Python 生成器表达式:内存高效的迭代器
2026-04-18 03:21:41
当需要在代码中处理数百万条数据时,直接创建一个巨大的列表往往会耗尽计算机内存。Python 生成器表达式提供了一种不占用大量内存即可遍历数据的方法。它就像是一个按需生产数据的“工厂”,而不是一次性造出所有东西的“仓库”。 1. 理解核心语法差异 生成器表达式的写法与列表推导式几乎完全一致,唯一的区别
Python
生成器
生成器表达式
53
0
Python 生成器:yield 关键字与迭代器
2026-04-03 06:12:52
Python 生成器:yield 关键字与迭代器 Python 中的 yield 关键字用于定义生成器函数,它能让你像写普通函数一样创建一个惰性求值的迭代器。这种机制在处理大量数据或无限序列时特别有用,因为它不会一次性将所有数据加载到内存中。 理解生成器的基本原理 1. 编写一个包含 yield 的
Python生成器
yield关键字
迭代器
66
0