Пересечение списков-множеств - 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).

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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