Erlang交换列表中的两个元素

问题描述

| 如何快速交换Erlang列表中的两个元素? 例如,我有一个列表:
[1,2,3,4]
,如何快速获得quickly1ѭ?     

解决方法

您没有在问题中说如何指定要交换的两个元素。 如果只想交换列表中位置2和3的元素(例如您的示例):
swap23([A,B,C|Rest]) ->
     [A,C,B|Rest].
    ,好吧,如果您希望将任何索引与另一个交换,则可以执行以下操作
swap(List,S1,S2) -> {List2,[F|List3]} = lists:split(S1-1,List),LT = List2++[lists:nth(S2,List)|List3],{List4,[_|List5]} = lists:split(S2-1,LT),List4++[F|List5].
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...