与包含所有元素的分区相关的功能?(Function related to partition that includes all elements?)

编程入门 行业动态 更新时间:2024-10-27 06:21:23
与包含所有元素的分区相关的功能?(Function related to partition that includes all elements?)

Clojure的partition函数的这种行为不是我所需要的:

user=> (partition 3 (range 3)) ((0 1 2)) user=> (partition 3 (range 4)) ((0 1 2)) user=> (partition 3 (range 5)) ((0 1 2)) user=> (partition 3 (range 6)) ((0 1 2) (3 4 5))

我需要包含收集的“剩余”部分,例如:

user=> (partition* 3 (range 4)) ((0 1 2) (3)) user=> (partition* 3 (range 5)) ((0 1 2) (3 4))

有没有一个标准的库函数可以实现我想要的功能?

This behavior of Clojure's partition function is not what I need:

user=> (partition 3 (range 3)) ((0 1 2)) user=> (partition 3 (range 4)) ((0 1 2)) user=> (partition 3 (range 5)) ((0 1 2)) user=> (partition 3 (range 6)) ((0 1 2) (3 4 5))

I need the 'leftover' portions of the collection to be included, e.g.:

user=> (partition* 3 (range 4)) ((0 1 2) (3)) user=> (partition* 3 (range 5)) ((0 1 2) (3 4))

Is there a standard library function that does what I want?

最满意答案

你正在寻找partition-all 。 只需在你的例子中替换它:

user> (partition-all 3 (range 4)) ((0 1 2) (3)) user> (partition-all 3 (range 5)) ((0 1 2) (3 4))

You're looking for partition-all. Just replace it in your example:

user> (partition-all 3 (range 4)) ((0 1 2) (3)) user> (partition-all 3 (range 5)) ((0 1 2) (3 4))

更多推荐

本文发布于:2023-08-05 18:47:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1436042.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:分区   元素   功能   Function   elements

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!