Common lisp 如何在LISP中找到列表的子列表(每个级别)的数量?
例如,对于列表(A1(B2)(1C4)(D1(6F))((G4)6))=>6快速回答如下:Common lisp 如何在LISP中找到列表的子列表(每个级别)的数量?,common-lisp,Common Lisp,例如,对于列表(A1(B2)(1C4)(D1(6F))((G4)6))=>6快速回答如下: (defun count-sublists (list) (if (listp list) (1+ (loop for el in list sum (count-sublists el))) 0)) 只需在元素上循环并递归地计算所有列表。对不起……答案应该是7,因为列表本身是一个子列表。请在问题中更正它,而不仅仅是评论。如果您花些精力找到答案并展示
(defun count-sublists (list)
(if (listp list)
(1+ (loop for el in list
sum (count-sublists el)))
0))
只需在元素上循环并递归地计算所有列表。对不起……答案应该是7,因为列表本身是一个子列表。请在问题中更正它,而不仅仅是评论。如果您花些精力找到答案并展示您所做的工作,那将是非常棒的。