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
List 函数删除元素相同但顺序不同的元组列表_List_Haskell_Tuples - Fatal编程技术网

List 函数删除元素相同但顺序不同的元组列表

List 函数删除元素相同但顺序不同的元组列表,list,haskell,tuples,List,Haskell,Tuples,假设我有一个元组列表,比如 [(1,2)、(2,1)、(3,5)] 我如何定义一个函数,以便删除具有相似元素但顺序不同的元组?所以这个列表就变成了 [(1,2)、(3,5)]与相等函数一起使用,该函数将交换或未交换相等元素的两个元组比较为相等。使这更容易: nubSwapped :: (Eq a) => [(a, a)] -> [(a, a)] nubSwapped = nubBy $ \a b -> a == b || swap a == b

假设我有一个元组列表,比如

[(1,2)、(2,1)、(3,5)]

我如何定义一个函数,以便删除具有相似元素但顺序不同的元组?所以这个列表就变成了

[(1,2)、(3,5)]

与相等函数一起使用,该函数将交换或未交换相等元素的两个元组比较为相等。使这更容易:

nubSwapped :: (Eq a) => [(a, a)] -> [(a, a)]
nubSwapped = nubBy $ \a b -> a == b || swap a == b