有什么可以在Erlang中执行两个列表的并集吗



我发现Erlang中有集合的集合操作,但我找不到类似的列表操作。我想在Erlang:中的列表中执行基本的并集操作

A = [1, 2, 3]
B = [1, 2, 5]
C = A union B = [1, 2, 3, 5]

如何在Erlang中执行此操作?

不过,我使用集合完成了以下操作,而且效果不错。我只是想知道,我是否可以在没有布景的情况下做到这一点。

C = sets:to_list(sets:union(sets:from_list(A),sets:from_list(B))).

您可以将两个列表连接起来,然后对它们进行排序,删除重复项:

A = [1, 2, 3],
B = [1, 2, 5],
C = lists:usort(A ++ B).

ordsets模块使用与sets模块相同的API将有序列表作为集合处理。https://erlang.org/doc/man/ordsets.html

最新更新