Enum.magic_function(2) --> [[1,2],[2,3],[-6ren">
gpt4 book ai didi

elixir - "Sliding window"在 Elixir 中的一个列表上

转载 作者:行者123 更新时间:2023-12-05 00:48:23 25 4
gpt4 key购买 nike

我正在寻找一种方法,可以让我在 Elixir 中的列表上创建 滑动窗口,如下所示:

[1,2,3,4,5,6]
|> Enum.magic_function(2)
--> [[1,2],[2,3],[3,4],[4,5],[5,6]]

类似于 chunk_every 函数,但每次移位 1。

最佳答案

您可以使用 Enum.chunk_every/4 的第三个参数指定在每个 block 之后跳过多少个元素(你想要 1 在这里)和第四个告诉它如果它小于指定的长度则丢弃最后一个 block 。

iex(1)> [1, 2, 3, 4, 5, 6] |> Enum.chunk_every(2, 1, :discard)
[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]]

关于elixir - "Sliding window"在 Elixir 中的一个列表上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51446662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com