Пересечение списков-множеств - Lisp (229232)

Узнай цену своей работы

Формулировка задачи:

эта функция должна возвращать список из элементов, которые встречаются в каждом из двух списков-аргументов. Заранее спасибо за помощь

Решение задачи: «Пересечение списков-множеств»

textual
Листинг программы
(defun inters (lst1 lst2)
  (remove-if-not (lambda (x) (member x lst2)) lst1))
 
==> INTERS
 
(inters '(1 2 3 4 5 6) '(3 5 6 8 9 1))
 
==> (1 3 5 6)

Объяснение кода листинга программы

В данном коде функция inters принимает два аргумента lst1 и lst2. Функция использует операцию remove-if-not для удаления элементов из списка lst1, которые не являются членами списка lst2. В качестве функции сравнения используется лямбда-функция (lambda (x) (member x lst2)), которая проверяет, является ли элемент x членом списка lst2. В данном примере функция inters применяется к спискам '(1 2 3 4 5 6) и '(3 5 6 8 9 1). После удаления элементов, которые не являются членами второго списка, получаем список (1 3 5 6).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы