Я пытаюсь взять список списков списков (не волнуйтесь, я приведу пример) и преобразую элементы по крайней мере в один из них. Это то, что я сделал до сих пор:Как сделать элементы нескольких списков в одном в lisp
(defun cost(state)
(let ((list_elements '()))
(dolist (element state)
(dolist (subElement element)
(setq list_elements (append list_elements (list subElement))))
finally (return list_elements))))
Пример:
(list
(list
(list
(list 1 9 't121)
(list 1 10 't122))
(list
(list 2 10 't123)
(list 2 11 't124)))
(list
(list
(list 1 9 't121)
(list 1 11 't132))
(list
(list 2 11 't133)
(list 2 12 't134))))
Итак, это, как предполагается вернуть ((1 9 T121) (1 10 T122) (2 10 T123) (2 11 T124) (1 9 T121) (1 11 T132) (1 11 T132) (2 11 T133) (2 12 T134))
И это возвращает только ((1 9 T121) (1 11 T132))
После этого, Я должен считать количество различных элементов в списке.
Кто-нибудь видит проблему в этой функции?
Это почти что. Эти функции возвращают это: '(1 9 T121 1 11 T132 2 11 T133 2 12 T134 3 11 T111 3 10 T001)' но это нормально, нашел решение – FriedRike
Знаете ли вы, как я могу найти количество разных элементов в список? – FriedRike
Я спросил у Google, и впервые в жизни он не знал ответа (или не хотел его показывать) – FriedRike