list - 用Erlang从列表中拆分几个头的最佳方法?

标签 list erlang split tail head

因此,使用Erlang是一件很愉快的事情,但是我偶尔遇到一个问题,我想知道是否有更好的解决方法。通常,我发现自己需要从列表中拆分多个项目。将列表分为头和尾的语法很简单,但是当有多个项目时该怎么办。

1> List = [1,2,3,4,5].
[1,2,3,4,5]
2> [Head | Tail] = List.
[1,2,3,4,5]
3> Head.
1
4> Tail.
[2,3,4,5]


除了拆分两次内联以外,还有没有更好的方法来获取列表的前两个元素?

1> List = [1,2,3,4,5].
[1,2,3,4,5]
2> [Head1 | [Head2 | Tail]] = List.
[1,2,3,4,5]
3> Head1.
1
4> Head2.
2
5> Tail.
[3,4,5]


我知道也可以通过编写从列表中递归拆分后续头的函数来简化此操作,但是我想知道是否有更简单的内联方法(或者实际上,递归后续拆分函数是最佳实践)完成此任务的方式)?谢谢!

最佳答案

[X1, X2 | Tail] = List.

关于list - 用Erlang从列表中拆分几个头的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3321154/

相关文章:

list - 如何使用append/3在prolog中递归构建列表?

erlang - 有没有一种惯用的方式来在 Erlang 中对函数子句进行排序?

java - 如何在JSP或JAVA中分割字符串?

python - 如果满足条件,则从列表列表中删除列表

用不均匀向量列表中的正值替换正表值

python - 添加到整数列表的列表

linux - Unix 纪元时间戳到人类可读日期时间和反向转换

erlang - 有什么好的erlsom教程吗?

javascript - 将数字拆分为数组的方法

r - 将数据框中的每个 x 个字符拆分为字符串