(defun LM:ListDupes ( lst )
;; © Lee Mac 2010
(if lst
(if (vl-position (car lst) (cdr lst))
(cons
(cons (car lst)
(- (length lst) (length (vl-remove (car lst) lst)))
)
(LM:ListDupes (vl-remove (car lst) lst))
)
(LM:ListDupes (cdr lst))
)
)
)
(vl-remove-if-not
(function (lambda (x) (vl-position (car x) '(1 3 5))))
(_ListDuplicateCounter my_lst)
)
(defun LM:ListDupes ( lst )
;; © Lee Mac 2010
(if lst
(if (vl-position (car lst) (cdr lst))
(cons
(cons (car lst)
(- (length lst) (length (vl-remove (car lst) lst)))
)
(LM:ListDupes (vl-remove (car lst) lst))
)
(LM:ListDupes (cdr lst))
)
)
)
(defun LM:GetOddDupes ( lst )
;; © Lee Mac 2010
(vl-remove-if-not
'(lambda ( x ) (= 1 (boole 1 1 (cdr x)))) (LM:ListDupes lst)
)
)
艾伦,
我做了这个修改,并完成了我的案例。
非常感谢。 李,
我像这样尝试了你的代码-结果为零-我遗漏了什么吗?
15 您的列表中只有一个元素重复了两次,因此根据您的请求将其省略。 我的列表中有六个元素,其中“4”重复两次(偶数),因此应将其排除在外,而1、2、3和5只出现一次(奇数),因此应将其包括在内:
我也尝试过这种方法,但仍然得到零:
对不起,我不清楚。 啊-我以为你只计算重复项-我的代码忽略任何没有重复多次的内容。 这使我的代码更加简单:
18
19 是的,现在我明白了。它起作用了。
非常感谢李。
页:
1
[2]