FP风格迭代器操作的包装器

iterwrapper的Python项目详细描述


IterWrapper公司

这是python迭代器的一个包装器,它提供了一种类似于Rust的样式,以及其他方法,以提高迭代器操作的一致性和代码可读性。在

例如:

fromiterwrapperimportIterWrapperasiwl=(iw(range(0,10)).map(lambdax:x+1).filter(lambdax:x%2==0).fold(lambdac,x:c+x**2,d=0))print(l)# 220 = 2^2 + 4^2 + 6^2 + 8^2 + 10^2

与vanilla python中的等效表示法相比:

^{pr2}$

另一个:

fromiterwrapperimportIterWrapperasiwl=(iw(range(0,10)).map(lambdax:x+1).filter(lambdax:x%2==0).map(str).collect(', '.join))print(l)# "2, 4, 6, 8, 10"# Comparing tol=', '.join(map(str,filter(lambdax:x%2==0,map(lambdax:x+1,range(0,10)))))# orr=range(0,10)m=map(lambdax:x+1,r)f=filter(lambdax:x%2==0,m)ms=map(str,f)l=', '.join(ms)

这样做的主要目的只是成为一个方便的包装器来操作迭代器,因此它具有很高的兼容性,因为大多数方法都是通过访问包装好的迭代器完成的,而且大多数方法只是将包装器用作容器。在

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

推荐PyPI第三方库


热门话题
java无法使用JAXB配置Moxy   java如何让我的简单Swing telnet客户端正确显示字符?   java中从可运行线程调用主线程的多线程处理   java数据源。EBJ3会话bean中的getConnection()   使用java和正则表达式从xml文件提取值时出现问题   java定制Jersy胡须Mvc   在Java中,“限制并发”是什么意思?   java有没有更干净的方法可以在这里使用Optional,而不在三个地方返回“NA”?   java Tomcat启动,然后崩溃,除非我打电话   java理解客户机和服务器   java时间戳将在视图对象>实体转换期间丢失   如何在java中返回布尔值(基元)?   java使用spring mvc设置日志记录,希望仅对我的代码进行跟踪/调试   用Jackson解析嵌套对象