受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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用servlet的正确方法是什么?   java Android ListView选中所有复选框(自定义ResourceCursorAdapter)   java如何在一个活动中正确处理多个片段交互侦听器?   java jUnit和忽略继承的测试   具有多个权限的java ActivityResultLauncher   Java:我可以通过应用程序将客户端重定向到loadbalancer后面的同一个会话/节点吗?   java如何使用Hibernate保存具有一对一关系的两个类?   java JEditorPane字体大小设置不准确   java为什么JUnit4导入不被识别,即使JUnit4在我的有效pom中。xml?   多次使用流后的java空映射   JavaSwing中AccessibleContext的用途是什么?   java指定使用T的类   java查找twitter4j转发速率限制   枚举的Java数组(类)   java通过Maven build排除了一些类