;数字列表删除重复数字(带容差)
;(setq lst (list 10.1 10.5 11 23 15 11 12 12.1 10.2 11.2 11.5 12.3 14))
;(Csy:RemoveDup ptss 0.2)
;return (10.1 10.5 11 11.5 12 12.3 14 15 23)
- ;数字列表删除重复数字(带容差)
- (defun Csy:RemoveDup(lst val / x lst2 y)
- (setq lst(vl-sort (mapcar '(lambda (x) x) lst) '<))
- (while (setq x(car lst))
- (setq lst2(cons x lst2))
- (setq lst(vl-remove x lst))
- (mapcar
- '(lambda (y)
- (if (equal x y val)
- (setq lst(vl-remove y lst))
- )
- )
- lst
- )
- )
- (reverse lst2)
- )
|