117.info
人生若只如初见

Erlang列表如何删除重复项

要删除Erlang列表中的重复项,可以使用以下函数:

-module(remove_duplicates).
-export([remove_duplicates/1]).

remove_duplicates(List) ->
    F = fun(Elem, Acc) ->
        case lists:member(Elem, Acc) of
            true -> Acc;
            false -> [Elem|Acc]
        end
    end,
    lists:reverse(lists:foldl(F, [], List)).

使用该函数可以将一个包含重复项的列表转换为一个不包含重复项的列表。例如:

remove_duplicates:remove_duplicates([1, 2, 3, 4, 4, 5, 6, 6, 7]).
% Output: [1,2,3,4,5,6,7]

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe277AzsIBAZeDVQ.html

推荐文章

  • Erlang列表能否嵌套

    是的,Erlang 列表可以嵌套。列表可以包含其他列表作为其元素,因此可以创建多层嵌套的列表结构。例如,以下是一个嵌套列表的示例:
    NestedList = [[1, 2, ...

  • 什么是Erlang列表推导式

    Erlang列表推导式是一种简洁的语法,用于从一个列表中生成一个新的列表。它的语法形式为[Expression || Generator1, Generator2, ...],其中Expression是要应用于...

  • Erlang列表如何实现遍历

    在Erlang中,可以使用递归函数来实现对列表的遍历。以下是一个简单的例子,演示如何遍历一个列表并输出每个元素:
    -module(traverse_list).
    -export([...

  • Erlang列表如何排序

    要对 Erlang 列表进行排序,可以使用 lists 模块中的 sort 函数。以下是一个示例代码:
    L = [3, 1, 4, 1, 5, 9, 2, 6],
    Sorted = lists:sort(L),

  • C++ string_view在多线程中的表现

    C++ string_view 是一种轻量级的字符串视图,它只是一种不拥有自己的内存的包装器,用于表示已有字符串的引用,因此在多线程环境中的表现与普通的字符串操作类似...

  • 为什么说SpringBoot gRPC未来趋势

    SpringBoot gRPC 未来趋势主要有以下几点原因:1. 高性能:gRPC 是由 Google 开发的基于 HTTP/2 协议的高性能 RPC 框架,相比传统的 RESTful API,gRPC 在性能上...

  • Python apply是否适用于所有函数

    不是所有函数都可以使用apply方法。apply方法通常用于将指定的函数应用于DataFrame的行或列,以实现元素级别的操作。只有在函数可以被应用于DataFrame元素时,ap...

  • Python apply函数的性能分析

    Python的apply函数是内置函数,用于调用函数并将参数传递给该函数。在Python 2.x版本中,apply函数接受一个函数和一个参数元组作为输入,并将参数元组中的参数传...