Вы можете использовать andmap
, чтобы проверить, выполняется ли условие для всех элементов в списке:
(define lsts (list list1 list2 list3 list4))
(andmap (lambda (lst) (= (length lst) 2))
lsts)
Хитрость в том, чтобы создать список с элементами, которые вы хотите проверить, в данном случае это сами списки. И чтобы обобщить это еще больше, вы можете передать lambda
, который выполняет проверку в качестве параметра, и вы можете передать подсписки как переменные аргументы:
(define (my-function check . lsts)
(andmap check lsts))
(my-function (lambda (lst) (= (length lst) 2))
list1 list2 list3 list4)