gpt4 book ai didi

list - Erlang 列出 :index_of/2 function?

转载 作者:行者123 更新时间:2023-12-03 13:21:05 25 4
gpt4 key购买 nike

我正在寻找一个 Erlang 库函数,它将返回列表中特定元素的索引。
因此,如果

X = [10,30,50,70]
lists:index_of(30, X)
将返回 1 等,就像 java.util.ListindexOf()方法。
Erlang标准库中是否存在这种方法?我尝试查看列表模块,但没有运气。还是我自己写?

最佳答案

您必须自己定义它,如下所示:

index_of(Item, List) -> index_of(Item, List, 1).

index_of(_, [], _) -> not_found;
index_of(Item, [Item|_], Index) -> Index;
index_of(Item, [_|Tl], Index) -> index_of(Item, Tl, Index+1).

但是请注意,访问列表的第 N 个元素是 O(N),因此经常按索引访问列表的算法效率低于按顺序遍历列表的算法。

关于list - Erlang 列出 :index_of/2 function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1459152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com