在Elixir列表中,如何获得中间值?

时间:2015-11-14 15:55:58

标签: elixir

我需要从列表中获取中间值。

如何在elixir中使用list[0]list[3..-1]进行操作?

e.g:

 list = [1,2,3,4,5,6]
 list[0] [1]
 list[2..-1] [3,4,5,6]

如何使用Tuple

进行操作

3 个答案:

答案 0 :(得分:9)

使用Enum.slice/2即可:

Enum.slice(list, 2..-1) # [3, 4, 5, 6]

Enum.take/2

Enum.take(list, 1) # [1]

答案 1 :(得分:1)

要获得确切的中间值(如问题标题所示),您可以执行以下操作:

# Given a list: li
midPos = (length(li) -1) |> div 2
Enum.at li, midPos  


# Or in one line 
Enum.at(li,(length(li) -1) |> div 2)

答案 2 :(得分:1)

list = ["A","b","c","d"] Enum.fetch(list, 1) -> return b Enum.fetch(list, 3) -> return d