替换Erlang中列表中索引处的元素

时间:2010-12-06 20:43:28

标签: erlang

我有一个列表需要定期更新其元素。元素没有列表键:keyreplace。它也将动态增长。这是更新列表中特定索引的元素的好方法吗?有更好的算法吗?

List = [1,2,3,4],
Index = 3,
NewElement = 5,
{HeadList, [_|TailList]} = lists:split(Index-1, List),
[1,2,5,4] = lists:append([HeadList, [NewElement|TailList]]).

1 个答案:

答案 0 :(得分:6)

我不建议以这种方式使用列表,它让我认为你的问题可能与设计相关,而不是与解决它整齐相关。也许如果你解释一下你的列表是什么?

然而,如果这是你真正需要/想要/必须做的事情;然后你正在做的是正确的。

我建议使用ets表或dict进行随机访问操作。