Lisp循环遍历函数中的列表

时间:2015-04-01 11:54:02

标签: list lisp common-lisp

我目前有一个方法,我通过执行以下操作继续调用它

(function1 (first lst))

(function1 (second lst))

(function1 (third lst))

这继续到五。我想知道是否有一个我可以创建的功能可以为我做这个,所以在创建时我调用一个方法而不是调用它五次。

3 个答案:

答案 0 :(得分:4)

鉴于您之前提出的问题,我建议您查看mapcarreduce并尝试了解它们。

如果你更习惯于循环,他们会习惯一点,但它们通常是一个更好的解决方案。

例如:

(mapcar #'function lst)

将在列表的每个元素上调用函数,返回结果列表。

答案 1 :(得分:2)

看起来你似乎并不关心结果。然后就可以了

(mapc #'function lst)

答案 2 :(得分:-1)

(map function1 (take lst 5))

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