【问题标题】:"Sliding window" over a list in Elixir在 Elixir 中的列表上“滑动窗口”
【发布时间】:2018-07-20 16:17:31
【问题描述】:

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

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

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

【问题讨论】:

    标签: elixir


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-06-14
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2012-10-12
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多