gpt4 book ai didi

haskell - 如何使用列表理解计算两个列表的对称差异?

转载 作者:行者123 更新时间:2023-12-05 04:41:48 24 4
gpt4 key购买 nike

为了获得两个列表的对称差异,我认为使用列表理解是个好主意。但我不知道如何删除列表的公共(public)元素并获取不同的元素。

例如

symDiff [1,2,3,4] [1,3,5]  -- should return [2,4,5].

目前为止

symDiff :: [a] -> [a] -> [a]
symDiff xs ys =

最佳答案

我希望这会有所帮助,但是如果不使用 Eq a

我无法做到这一点
symDiff :: Eq a => [a] -> [a] -> [a]
symDiff setA setB = [c | c <- setA, not $ (elem c [x | x <- setB])]
++ [c | c <- setB, not $ (elem c [x | x <- setA])]

对于

symDiff [1,2,3,4] [1,3,5]

将返回:[2,4,5]

关于haskell - 如何使用列表理解计算两个列表的对称差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69980246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com