Elixir:如何从列表创建一对元素

提洛

给定一个包含单个元素的Elixir列表,如何最好地创建一个包含成对相邻元素的列表?这应该适用于任何列表,而不仅仅是包含数字。

输入: [1,2,3,4,5,6,7]

输出: [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]

以下解决方案有效,但对我来说却显得笨拙。

有没有更好/更简单的方法可以做到这一点?

  >  {[_|list],_} =  Enum.map_reduce([1, 2, 3, 4, 5, 6, 7], nil, fn(x, acc) -> {[acc,x], x} end)
  {[[nil, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]], 7}

  > list
  [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]]
阿列克谢·马蒂什金(Alexei Matiushkin)

用途Enum.chunk_every/4

Enum.chunk_every([1,2,3,4,5,6,7], 2, 1, :discard)
#⇒ [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何用不同数量的元素列表制作一对?

创建唯一对象对的列表

如何将元素附加到一对坐标以制作多维列表?

创建一个列表,其中每个元素是给定向量中的一对连续成员

当每个元素都是一对对象时如何创建javascript数组

如何在Swift中创建唯一对象列表数组

如何创建具有两个不同列表的唯一对象?

创建一对/一组元组并删除某些元素

如何创建一个包含 16 个元素的列表?

如何创建一个结合 tibble 元素的列表?

ASP .Net MVC 5如何在“创建视图”中创建列表?EntityFramework中的一对多关系

无法以所需的方式从列表中创建一对项目

从数组列表中创建一对数组 [PHP]

加入 2 个列表并创建一对多关系

如何检查一对numpy数组的列表是否在列表中

Elixir-如何获取除列表中的最后一个元素以外的所有元素?

如何找到一组对中的一对之间的元素?

如何一对一地匹配元素?

创建一对实例

如何返回一对一关系对象的列表

如何基于一对一(三个表)创建一对多关系?

如何创建一对一的前馈层?

如何使用FluentMigrator创建一对一外键

如何解析列表中的两个元素以创建一个新元素

如何从另一个列表的元素自动在 python 中创建列表

如何使用旧列表中的唯一元素创建新列表

如何在R中使用一个向量中的元素在列表内创建列表

如何从两个列表创建元组,以便一个列表元素重复

如何创建列表列表,其中每个第一级列表元素都分配有相同的列表