假设我有元组列表,例如
[(1,2),(2,1),(3,5)]
我将如何定义一个函数,以便删除具有相似元素但不同顺序的元组?所以列表变成了
[(1,2),(3,5)]
最佳答案
使用nubBy
带有一个相等函数,该函数将两个元组与交换或未交换的相等元素进行比较。 The swap
function使这更容易:
nubSwapped :: (Eq a) => [(a, a)] -> [(a, a)]
nubSwapped = nubBy $ \a b -> a == b || swap a == b
关于list - 删除具有相同元素但顺序不同的元组列表的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16097038/