我正在尝试减去2个列表并返回比较的产品。
所以如果列表 a = [2,3,2] b = [1,1,1] 然后 a-b = [1,2,1],返回的产品(c)应为1.
val c = List.map (fn i => (i - b) mod 10) a
modulo(mod)10用于两个相减数字给出奇数结果的情况,例如: 2-8 = ~6 mod 10 = 4.
我陷入了减法,因为List.map不允许我进行减法,因为它需要一个int值而不是一个int列表(至少不是我编码它的方式:()。 / p>
我在比较中也是空白。
答案 0 :(得分:3)
您可以使用ListPair.map
一次迭代2个列表,如下所示:
val c = ListPair.map (fn (i, j) => (i - j) mod 10) (a,b)
答案 1 :(得分:1)
您不想减去b
- 您想要减去相应的值。一种方便的方法是将列表压缩在一起:
val c = List.map (fn (i, j) => (i - j) mod 10) (ListPair.zip (a, b))