python的方法链。

slinkie的Python项目详细描述


#



python 3.6及以上版本的方法链。


>
-http://www.www.www.fefaultsourcery.com/post/slinkie
-https://gitlab.com/h4xrk1m/slinkie


















>



用法le

在本例中,我们有一组动物。我们会仔细检查,只拍好狗。

``python
from slinkie import slinkie


animals=[lassie,skippy,scooby,cerberus,garfield]


slinkie(animals)
。filter(lambda animal:animal.type=="dog")
。filter(lambda dog:dog)。很好)
.map(lambda dog:dog.pat())
.consume()
````

我们只挑选好的狗,并将它们收集到一个列表中。

`` python
from slinkie import slinkie


animals=[lassie,skippy,scooby,cerberus,garfield]


好的狗=(
slinkie(animals)
。过滤器(lambda animal:animal.type='dog')
.filter(lambda dog:dog.is_good)
.list()
````

``函数

-`all(key=none)`:使用整个slinkie来查找每个项目是否正确。
-`any(key=none)`:使用slinkie直到找到正确的项目。
-`between(a,b,key=none)`:返回a和b之间的s个项目(包括)。
-`消费(n=无)`:消费n个项目。如果n为none,则使用所有项。
-`count()`:使用所有项生成一个计数。
-`dict(key,transform=none)`:返回所有项的dict。
-`exclude(items,key=none)`:基于项的标识或键函数排除所有项。
-`extend(items)`:生成所有项ms从这里开始。u items,后跟提供给此函数的项。
-`filter(key)`:筛选项。
-`first(key=none)`:如果key为none,则取第一项,否则取key(item)返回true的第一项。如果没有对象,则引发StopIteration。
-` first_或_none(key=none)`:如果key为none,则获取第一个项,否则获取key(item)返回true的第一个项。如果没有对象,则不返回任何对象。
-`flatten()`:将二维结果集展平为一维。
-`foldl(fn,默认值=none)`:向左折叠。与reduce相同。
-`foldr(fn,默认值=none)`:向右折叠。
-`group(key)`:将key上的所有项分组。
-`intersperse(divider)`:将项与divider一起散布。slinkie([1,2,3]).intersperse('x').list()->;[1,'x',2,'x',3]。
-`intersperse_items(dividers)`:将项目与dividers一个一个地散布。slinkie([1,2,3,4,5])。散布项目(['x','y'])。list()->;[1,'x',2,'y',3,'x',4,'y',5]。
-`join(glue='')`:通过glue连接项目,其中glue是字符串。调用glue.join。
-`last(key=none)`:如果key为none,则获取最后一个项,否则获取key(item)返回true的第一个项。如果没有对象,则引发StopIteration。
-` last_或_none(key=none)`:如果key为none,则获取最后一个项,否则获取key(item)返回true的最后一个项。如果没有匹配的对象,则不返回任何对象。
-`len()`:使用所有项生成计数。
-`list()`:返回所有项的列表。
-`map(transform,with_index=false)`:映射项。
-`not_none()`:返回除none以外的所有项。
-`parallelize(fn,线程数=none)`:并行化函数调用。线程数默认为CPU计数+1。
-`partition(n)`:接受n个项目并在新slinkie中返回它们。这样做,直到项目被消耗。
-`reduce(fn,默认值=none)`:向左折叠。与reduce相同。
-`reverse()`:反转slinkie的顺序。
-`select(transform,with_index=false)`:映射项。
-`set()`:返回所有项的集合。
-`sfilter(key)`:筛选项,在key函数上使用splat运算符,只需与smap类似。
-`skip(n)`:跳过n个项。
-`smap(transform)`:映射项的splat。
-`sort(key=none,reverse=false)`:按键对项进行排序。
-`split(number=2)`:将项拆分为较小的slinke。项目使用循环法划分。
-`str(glue='`):使用glue连接项目,其中glue是一个字符串。调用glue.join.
-`sweep(width,step=1)`:类似于itertools的pairwise,这将一次分发项的宽度,偏移量为step。slinkie(range(11)).sweep(2)生成的结果与itertools.pairwise相同,而.sweep(3)将给出(0,1,2),(1,2,3),…(8, 9, 10)。如果slinkie中没有剩余的步骤项,则最后一个项可能没有填充。
-`take(n)`:take n items。
-`tee(display=none)`:通过tee函数的每个项都将使用display函数显示。如果没有提供,则使用print。
-`then(fn)`:接受一个函数,该函数将slinkie作为其唯一参数,并返回一个集合。然后将集合包装在另一个slinkie中。
-`transpose()`:转置slinkie的内容。
-`tuple()`:返回所有项的一个tuple。
-`unique(key=none)`:筛选出不被视为唯一的项。您可以选择提供一个键函数来确定标识。
-`where(key)`:筛选项。


不过,我还是建议您使用virtualenv。

```
$virtualenv venv
$source venv/bin/activate
$pip install-e。
````

对于重大更改,请先打开一个问题来讨论要更改的内容。

请确保根据需要更新(或编写)测试。


\license

[bsd 2-clause license](https://tldrlegal.com/license/bsd-2-clause-license-(freebsd))

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

推荐PyPI第三方库


热门话题
serversocket Java服务器socket中断如何   java通过随机类和排序为数组生成数据   @Column length大于255个字符的java实体   java在使用NIO2 API时消除检查异常   java使用用户凭据通过Microsoft Graph API上的控制台应用程序发送电子邮件   java将2个ArrayList一个接一个地显示到jTextArea中,根据输入的数据多次显示   java无法使用导入的库。安卓工作室。谷歌云端点jar   spring boot Neo4j Apoc在java中获取结果摘要时的情况   转义特殊字符javajson   无法在java中使用OpenCV读取图像,涉及unicode路径   swing Document Listener java“无法实例化DocumentListener类型”   java Piglatin,难以理解如何移动“.”一串   java映射请求基于一个可观察对象中的每个元素,使用改进?   java在可扩展字符串中搜索时,如何忽略字符的大小写?   在包中分组类的java约定   python为Java应用程序创建Ubuntu指示小程序   java Camunda:如何通过processInstanceId获取所有已完成的任务