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

Mat*_*day 4 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]]).
Run Code Online (Sandbox Code Playgroud)

Maz*_*ake 6

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

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

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