Functional programming mapcar的多个参数

Functional programming mapcar的多个参数,functional-programming,lisp,closures,common-lisp,Functional Programming,Lisp,Closures,Common Lisp,我相信这在lisp中是一个非常初级的问题,因为我正在学习这门语言 我在clisp中有一个名为count的函数。它计算给定原子在列表中出现的次数。我想做的是能够使用不同的参数多次调用count,但要搜索的列表相同 例如,我想假设地计算列表中'A、'B和'C的数量。我希望我能做这样的事情: (mapcar 'count '(A B C) myList) 我发现这不起作用,因为'(A B C)中的每个元素只与myList中的一个元素配对。将带有附加输入参数的函数应用于列表中的每个项的适当惯用方法是什

我相信这在lisp中是一个非常初级的问题,因为我正在学习这门语言

我在clisp中有一个名为count的函数。它计算给定原子在列表中出现的次数。我想做的是能够使用不同的参数多次调用count,但要搜索的列表相同

例如,我想假设地计算列表中
'A
'B
'C
的数量。我希望我能做这样的事情:

(mapcar 'count '(A B C) myList)
我发现这不起作用,因为
'(A B C)
中的每个元素只与myList中的一个元素配对。将带有附加输入参数的函数应用于列表中的每个项的适当惯用方法是什么


为了进一步澄清,我希望能够将
'(A B C)
'(A A B C C)
作为输入,并生成
(2 1 3)
函数,对列表中的每个项目重复调用
计数
(A B C)
,每次都按相同的顺序对匹配的项目进行计数
mylist

(mapcar (lambda (x) (count x mylist)) '(A B C))

那太完美了。正是我想要的。非常感谢你!现在读到这篇文章,我发现我可能看了十几个类似的解决方案,却没有真正理解lambda函数在做什么。现在,我看到答案适用于我的具体问题,它变得更有意义。感谢分享启示时刻!现在是复习的好时机。