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

wpcxdonn  于 2022-12-08  发布在  Erlang
关注(0)|答案(2)|浏览(144)

我发现在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))).
egmofgnx

egmofgnx1#

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

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

gcmastyq2#

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

相关问题