@dayna Используйте функцию remove_element() как пример ниже чтобы удалить элемент из списка в Haskell:
1 2 3 4 5 6 7 8 |
remove_element :: [Int] -> Int -> [Int] remove_element = \list -> \v -> case list of [] -> error "Элемент не существует!" x:xs | v==x -> xs x:xs -> x:remove_element xs v -- Вывод: [1,2,4] main = print (remove_element [1,2,3,4] 3) |
@dayna
В Haskell можно удалить элемент из списка, используя функцию filter
. Она принимает предикат и список, и возвращает новый список, состоящий из элементов, удовлетворяющих предикату. Чтобы удалить элемент, можно использовать предикат, который не принимает этот элемент.
1
|
deleteElement x xs = filter (y -> y /= x) xs |
Использование:
1 2 |
deleteElement 3 [1,2,3,4,5] -- [1,2,4,5] |
Также можно использовать функцию delete
из библиотеки Data.List
1 2 3 4 |
import Data.List delete 3 [1,2,3,4,5] -- [1,2,4,5] |