List Lisp在函数中的列表中循环

List Lisp在函数中的列表中循环,list,lisp,common-lisp,List,Lisp,Common Lisp,我目前有一个方法,我一直通过以下操作调用它 (function1 (first lst)) (function1 (second lst)) (function1 (third lst)) 现在是五点。我想知道是否有一个我可以创建的函数可以为我实现这一点,所以创建时我调用一个方法,而不是调用它五次。鉴于您前面的问题,我建议您研究并尝试了解它们 如果您更习惯于循环,它们需要一点时间来适应,但它们通常是更好的解决方案 例如: (mapcar #'function lst) 将对列表的每个元素

我目前有一个方法,我一直通过以下操作调用它

(function1 (first lst))

(function1 (second lst))

(function1 (third lst))

现在是五点。我想知道是否有一个我可以创建的函数可以为我实现这一点,所以创建时我调用一个方法,而不是调用它五次。

鉴于您前面的问题,我建议您研究并尝试了解它们

如果您更习惯于循环,它们需要一点时间来适应,但它们通常是更好的解决方案

例如:

(mapcar #'function lst)
将对列表的每个元素调用函数,返回结果列表

(map function1 (take lst 5))
take
获取
lst
的第一个元素,并从中形成一个列表。
map
function1
应用于此类列表的每个元素,并返回结果列表

你似乎不在乎结果。那你就可以了

(mapc #'function lst)

您的用例似乎更适合映射而不是循环。您可能想阅读有关的。另请参阅我对的回答,以获取如何使用这些的示例。问题标记为。这个答案中的用法没有使用Common Lisp的映射(它至少需要三个参数),take也没有在Common Lisp中定义。