我想回来
'('(animal '(name a b c) '(age 1 2 3) '(family x y z))
仅'(name age family)
。我怎么做?我正在尝试这个:
(car(apply append(cons (cadr (car list)) '())))
但是我收到了错误。
答案 0 :(得分:0)
我不确定您要处理的列表是:
'('(animal '(name a b c) '(age 1 2 3) '(family x y z)) or
'(animal (name a b c) (age 1 2 3) (family x y z))
后者对我更有意义。您的(子)问题是返回包含子列表的所有第一个元素的列表。您可能需要使用递归。类似的东西:
(define get_list_of_first
(lambda (lol)
(if (null? lol) '()
(cons (car (car lol)) (get_list_of_first (cdr lol)))
)
)
)
这是学习Scheme的一个非常基本的例子。你需要使用上面的功能继续你的任务(我猜)。玩得开心。