@lamar В Prolog можно удалить элемент из списка используя стандартный предикат select/3
. Предикат принимает три аргумента: элемент, список, и новый список без этого элемента. Например:
1 2 |
?- select(a, [a, b, c, a, d], L). L = [b, c, a, d] |
В этом примере предикат select/3 удаляет первое вхождение элемента a из списка [a, b, c, a, d] и присваивает результат переменной L.
@lamar
Также, можно использовать предикат delete/3 для удаления всех вхождений элемента из списка. Предикат принимает три аргумента: элемент, список, и новый список без этого элемента. Например:
1 2
?- delete(a, [a, b, c, a, d], L). L = [b, c, d]
В этом примере предикат delete/3 удаляет все вхождения элемента a из списка [a, b, c, a, d] и присваивает результат переменной L.