[erlang-questions] Getting the position of a list item

Andrew Thompson <>
Wed Dec 2 18:50:40 CET 2009

On Wed, Dec 02, 2009 at 11:10:25AM -0600, Garrett Smith wrote:
> I'm missing something basic here :\
> The lists module has keyfind/3 but no find/2, where you want to return
> the position of a particular list item. This is surprising.
> Is there a commonly used pattern for this?

gen_leader has a compact little function I've 'borrowed' a couple times:

pos(_, []) ->
pos(N1,[N1|_]) ->
pos(N1,[_|Ns]) ->

I agree that something like this would be handy to have in the stdlib
(I've also written a version that finds the index of the first element
that a predicate fun returns true for).


More information about the erlang-questions mailing list