如何使用Scheme的Map函数将两个列表传递给单个函数?

cog*_*pwn 1 scheme list map fold arity

我对Scheme有疑问.我对这门语言比较陌生,我的问题相当笼统:

在没有定义递归函数的情况下,是否可以使用Map(或类似的东西)将两个参数列表提供给函数,从输出生成一个新的列表?

例如,假设我有:

(define lst1 (list 1 2 3 4 5))
(define lst2 (list 2 4 6 8 10))
Run Code Online (Sandbox Code Playgroud)

然后我想以某种方式映射+函数,将每个列表作为参数提供,使得输出将是一个新列表,lst3:

>lst3
(3 6 9 12 15)
Run Code Online (Sandbox Code Playgroud)

更简洁地陈述问题:当两个参数都是列表时,如何最有效地映射二进制函数?

感谢您的帮助!

lep*_*pie 6

(map + lst1 lst2)
Run Code Online (Sandbox Code Playgroud)

MAP可以使用任意数量的列表.

例:

(map + lst1 lst2 lst1) => (4 8 12 16 20)
Run Code Online (Sandbox Code Playgroud)