2009-11-10 56 views
-2

什么是BIF从列表中删除项目?什么是BIF从列表中删除项目

+3

检查“man 3erl lists”比在这里输入您的问题需要更少的时间。请使用这些问题的手册。 – gleber 2009-11-10 11:39:52

+1

此外,请提供更多的细节问题 - 例如该项目被删除的标准是什么?它是物品的价值吗?这是位置吗? – gleber 2009-11-10 11:41:00

回答

7

NewList = CurrentList -- ElementElement是清单

eg NewList = CurrentList -- [{some_element}]

9

如果你想删除给定的元素,它是lists:delete/2(这不是BIF)。

如果你想在一个给定的位置删除元素,你可以这样做:

del_nth_from_list(List, N) -> 
    {L1, [_|L2]} = lists:split(N-1, List), 
    L1 ++ L2. 

如果要删除所有出现,则:

del_all_occurences(List, Elem) -> 
    [E || E <- List, E =/= Elem].