【问题标题】:Replace an element at an index in a list in Erlang替换Erlang列表中索引处的元素
【发布时间】:2010-12-07 06:26:17
【问题描述】:

我有一个需要定期更新其元素的列表。元素没有列表的键: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]]).

【问题讨论】:

    标签: erlang


    【解决方案1】:

    我不建议以这种方式使用列表,这让我认为您的问题可能与设计有关,而不是与巧妙地解决它有关。如果你解释一下你有什么清单?

    但是,如果那是您真正需要/想要/必须做的;那么你的做法是正确的。

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

    【讨论】:

    • 我对我如何使用该列表有一点了解,是的,你是对的。我的随机访问要求是最重要的要求 - 其他要求:随时访问最后输入的元素(实际上是列表的头部)并从第一个输入到最后输入的列表遍历,可以很容易地更改为使用等/字典。我相信解决方案是制作一个 {Key, ListElem} 元组。感谢您的洞察力!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2022-01-25
    • 2017-08-06
    • 2022-06-11
    • 2011-09-02
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多