好的,我想使用 Scheme 计算每个 [number] 出现在列表中的次数。
我怎样才能做到这一点 ?我还想存储给定数字的计数器并重新构建一个新列表。
例如,我有以下列表((1 2)(2 5)(5 7)(7 8)(6 8)(4 6)(3 4)(1 3)(4 8))
我在想先展平列表,然后为每个数字设置一个计数器(不知道该怎么做)。然后重构一个与原始编号对应的新列表。(这可能很棘手?我需要存储一个临时变量?)
从这个例子中说,数字 1 出现了两次,数字 2 出现了两次,数字 3 出现了两次等等......所以我想重新创建一个新列表,如下所示:
(1 2) (2 2) (3 2) (4 3) (5 2) (7 2) (6 2) (8 3)
知道我怎么能做到这一点吗?
更新:
我正在考虑实现一个类似这样的增量计数器助手?
(define inc-counter
(let ((counter 0))
(lambda () (set! counter (+ counter 1)))))