如何使用map减去每个列表元素的值?

时间:2017-12-13 23:14:17

标签: scheme racket

我有一个列表'(1 2 3 4)

我想用一个值(例如1)减去列表中的每个值。

我想返回新列表'(0 1 2 3)


我正在使用R5RS。

我尝试使用map但失败了。

我宁愿使用map来定义我自己的迭代或递归算法。

1 个答案:

答案 0 :(得分:3)

如果您希望(- x value)包含每个元素x,请映射:

(map (lambda (x) (- x value)) data)

或者您可以使用curried函数:

(define (subtract y) (lambda (x) (- x y)))`

(map (subtract value) data)