タプルのリスト、(key,value)
のペアがあります。私は、キーまたは値、リストの順番を変更することができますが、重複要素を削除する必要がありますが、キーまたは値の最初の出現は、タプルのリストに残っている必要がありますタプルリストから重複したキー/値を削除する
例:
input: [("r","w"),("n","j"),("a","j"),("d","i"),("s","g"),("r","a")]
output: [("r","w"),("n","j"),("d","i"),("s","g")]
私が作ったもの:
はremoveDuplicates _ [] = []
removeDuplicates seen (x:xs)
| elem (head $ fst x) (fst seen) = [] ++ removeDuplicates seen xs
| elem (head $ snd x) (snd seen) = [] ++ removeDuplicates seen xs
| otherwise = x:removeDuplicates ((fst seen)++(fst x),(snd seen)++(snd x)) xs
しかし、これは醜いですremoveDuplicates ("","") something
と呼ばれる必要があります。
あなたはすでに試してみましたが、あなたは – epsilonhalbe
@epsilonhalbeをどのようにエラーを取得している私は私の解決策を追加したが、それは私の意見でnubByチップ用 – KameeCoding