受Java 8流的启发,简单列表处理
lazy-streams的Python项目详细描述
受java 8流的启发,这个python模块为 操作和查询python列表。它被称为惰性流,因为 它lazy评估请求以提高性能和减少资源 要求。由于惰性计算,惰性流可以在 具有相对较小延迟的大型数据集。
下面是一个简单的示例:
>>> from lazy_streams import stream >>> s = stream(range(5000000)) \ ... .filter(lambda x: str(x)[0] == '3') \ ... .map(lambda x: -x) \ ... .map(lambda x: "Item: %s" % x) \ ... .take(75) \ ... .reverse() >>> print s.first_or_else() Item: -363 >>> print s.take(5).to_list() ['Item: -363', 'Item: -362', 'Item: -361', 'Item: -360', 'Item: -359'] >>> print s.take(3).to_string() Item: -363, Item: -362, Item: -361
惰性流是一个小型(单个文件)、轻量级、简单的 依赖于一组相似依赖项的实现。
从上面的示例中可以看到,可以堆叠多个操作 在彼此之上。模块将优化执行以仅执行 对列表元素的操作 输出。
此外,原始列表将保持不变,作为每个操作的输出 只需返回原始值的增量。
提供文档和更多示例 docs。