反pythonic map reduce实用程序

mr-streams的Python项目详细描述


mr streams

mr streams是一个python实用程序,用于组合iterable map reduce过滤器链

目标:

这个库的目标相对简单:

  • 提供支持链接映射、减少、筛选操作的流合成语法
  • stream对象的外观和感觉应该仍然像list/iterable
  • 流应该有延迟计算流的选项
  • 支持未来有关组合方式的更改

发音:

  • “溪流先生”好玩
  • “M-R-streams”听起来很专业

支持的操作

  • map-使用内置的部分求值选项将函数应用于iterable中的值。

    fromoperatorimportadd[*mr(range(10)).map(add,1)]>>[1,2,3,4,5,6,7,8,9,10]
  • filter-对链中发出的值应用布尔函数。如果条件为true,则值将在链的下一步发出。

    is_even=lambdax:x%2==0[*mr(range(10)).filter(is_even)]>>[0,2,4,6,8]
  • reduce-reduce遍历所有对象,并使用reduce函数来减少它们。

    mr(range(10)).reduce(sum)>>45
  • take-限制流中发出的值的数目。

    [*mr(range(10)).take(3)]>>[0,1,2]
  • tap-将函数被动地应用于流,而不更改发出的值。

    mr(range(4)).tap(print).reduce(sum)>>0>>1>>2>>3>>6
  • drain-运行耗尽流的无操作迭代。

    mr(range(4)).tap(print).drain()>>0>>1>>2>>3
  • chunk-将流中的项分组成大小为n

    mr(range(4)).chunk(2).tap(print).drain()>>[0,1]>>[2,3]

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

推荐PyPI第三方库


热门话题
java是否存在这样一种场景:Java7的Hashmap实现优于Java8的实现   java如何打印这些完整的数组?   java BuildException:未能执行aapt   java如何使用类。未知类型的集合返回的cast()   java准备语句返回错误的值   webview 安卓中的java显示身份验证对话框   java如何重命名列名JPA Hibernate   java查询从特定用户和特定时间段的Oracle表(通过比较原始表和备份表)中选择修改的行   java Youtube视频仅在三星S6设备上加载时自动暂停   未调用java RecyclerView getItemViewType   使用JSch setCommand执行带有源选项的java Shell ping命令时失败   java Hibernate:无法删除|删除分离的实例   Java Spring@MappedSuperclass字段作为子类中的@Id字段   java Android:确定单击了哪个按钮,因为该按钮未在xml中定义   如何计算java阵列内存使用率   使用Java查找按字母顺序排列的第一个字符串   javascript注销功能刷新页面,但页面仍已登录   当接口作为参数提供时,java依赖项注入不起作用   java中带原语的字符串扭曲