Предоставление списка пар, напримерУдалить пара дублирует Haskell
[(1, 2), (1, 3), (1, 4), (2, 1), (3, 1), (4, 1)]
Итак, я пытаюсь удалить пару дубликатов, я считаю пару, чтобы быть дубликатом, если (х, у) == (у , х), например: (1, 2) с (3, 1)
Я генерации список со списком понимания, это происходит из одного списка
MyList = [(intA, intB) | x <- integerList, y <- integerList, x /= y]
integerList = [1, 2, 3];
Пожалуйста, обратите внимание, что Первое, что я написал, - всего лишь пример того, что Я хочу, чтобы это произошло, и это не выход из списка понимания выше.
Я недавно начал использовать Haskell, как бы я подошел к проблеме? Какой был бы лучший выбор? Я пробовал использовать карту, но без успеха мне следует объединить карту с foldl/foldr, в которой используется обратное внутри? Как мне это сделать?
опечатка? '(1, 2) с (3, 1)' – karakfa
Сначала напишите 'isPairDuplicate :: (Int, Int) -> (Int, Int) -> Bool' (затем опубликуйте его в своем вопросе, чтобы мы знали, говоря о). – jberryman
Тогда я бы предложил подумать о написании рекурсивного решения, которое использует сопоставление шаблонов в списках и, возможно, «фильтр», если вы чувствуете себя сумасшедшим. – jberryman