Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List Haskell如何检查并返回一个元组中部分存在于另一个元组中的元素?_List_Haskell - Fatal编程技术网

List Haskell如何检查并返回一个元组中部分存在于另一个元组中的元素?

List Haskell如何检查并返回一个元组中部分存在于另一个元组中的元素?,list,haskell,List,Haskell,我是Haskell编程新手,目前我有一个包含 [“H1”、“B1”]、[“H2”、“B2”]、[“H3”、“B2”] 和另一个列表2[[String]] [“H1”、“B1”、“H5”]、[“H2”、“B2”、“H5”]、[“H2”、“H3”、“B2”]、[“H5”、“B1”、“H4”]] 我想返回一个基于list2的结果,它包含List1中的元素 [“H1”、“B1”、“H5”]、[“H2”、“B2”、“H5”]、[“H2”、“H3”、“B2”]] 有人明白我的意思吗? 我完全不知道如何开始这

我是Haskell编程新手,目前我有一个包含

[“H1”、“B1”]、[“H2”、“B2”]、[“H3”、“B2”]

和另一个列表2[[String]]

[“H1”、“B1”、“H5”]、[“H2”、“B2”、“H5”]、[“H2”、“H3”、“B2”]、[“H5”、“B1”、“H4”]]

我想返回一个基于list2的结果,它包含List1中的元素

[“H1”、“B1”、“H5”]、[“H2”、“B2”、“H5”]、[“H2”、“H3”、“B2”]]

有人明白我的意思吗? 我完全不知道如何开始这个问题,谢谢你的帮助 我想用它作为过滤器和我的设计

isInList :: [[String]] -> [[String]] -> Bool
isInList (x:xs) y = filter (any (`elem` x)) y
但这给了我一个错误的答案[[“H1”、“B1”、“H5”]、[“H5”、“B1”、“H4”]]
我哪里做错了?

您的示例输出包含
列表2
中的前三个子列表。您的
列表1
的长度为3。是否要将
List2
截断为
List1
的长度?如果是,试试看

list1 = [["H1","B1"],["H2","B2"],["H3","B2"]]
list2 = [["H1","B1","H5"],["H2","B2","H5"],["H2","H3","B2"]]

truncatedList2 = take (length list1) list2

main = print truncatedList2

尝试。

您已经尝试了什么?为什么最后一个列表不应该是输出的一部分?对于元组,这些是列表。因为最后一个列表不包含列表1中的任何对,请首先显示您尝试过的内容。现在这看起来像是一个“为我解决家庭作业”的问题。。。