erlang里面动态获取列表下标

本文介绍了一种在Erlang中获取列表元素下标的自定义方法,包括一个for循环和一个用于为列表元素添加索引的函数。通过测试验证了此方法的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要获取一个列表里面的元素的下标,这个在erlang里面没有现成的方法,至少至今我没有发现,若已有,请高手指点。

 

1、先写一个for循环 ;

     for(Max, Max, F) -> [F(Max)];
     for(I, Max, F)   -> [F(I)|for(I+1, Max, F)].

 

2、再下一个为列表里面的元素增加索引的函数

     %%@spec for(n,m,fun()) -> [] 
     add_index(List) ->
            for(1,length(List),fun(I) ->
                                           Elem = lists:nth(I,List),
                                           list_to_tuple([I] ++ tuple_to_list(Elem))
                                        end).

 

这样,就能满足要求了。测试如下:

 

3、定义一个list

     1> List = [{a,b,c},{a,c,g},{d,f,e},{e,f,g},{h,g,k}].
[{a,b,c},{a,c,g},{d,f,e},{e,f,g},{h,g,k}]

 

4、调用函数,查看输出

     2> lib_misc:add_index(List).
[{1,a,b,c},{2,a,c,g},{3,d,f,e},{4,e,f,g},{5,h,g,k}]   

--------在

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值