Common Lisp:判断列表是否包含嵌套列表的谓词?

Common Lisp:判断列表是否包含嵌套列表的谓词?,lisp,common-lisp,Lisp,Common Lisp,如果列表有子列表,我需要一个返回true的谓词,否则返回false 我写了一个函数来实现它(如下)。我想知道这样一个谓词是否已经存在 (defun hasSublistp (lst) (cond ((null lst) nil) ((listp (first lst)) t) (t (hasSublistp (rest lst))))) 这应该可以做到: ? (some #'listp '(1 2 3 4 5)) NIL ? (some #'li

如果列表有子列表,我需要一个返回true的谓词,否则返回false

我写了一个函数来实现它(如下)。我想知道这样一个谓词是否已经存在

(defun hasSublistp (lst)
    (cond ((null lst) nil)
          ((listp (first lst)) t)
          (t (hasSublistp (rest lst)))))

这应该可以做到:

? (some #'listp '(1 2 3 4 5))
NIL
? (some #'listp '(1 2 (3 4) 4 5))
T
? (some #'listp '(1 2 (3 4) (4 7) 5))
T

这应该可以做到:

? (some #'listp '(1 2 3 4 5))
NIL
? (some #'listp '(1 2 (3 4) 4 5))
T
? (some #'listp '(1 2 (3 4) (4 7) 5))
T

我不认为有一个函数正是为了这个目的,但是关于:

(some #'listp my-list)

您可以在中找到关于高阶函数的更多信息。

我不认为有一个函数正好用于此目的,但是关于:

(some #'listp my-list)
您可以在中找到有关高阶函数
some
的更多信息