排序问题, X从小到大X相同时Y从大到小排序怎么写?
点表((1 2 3)(3 2 1).....))要求点表按X从小到大排序,X相同的按Y从大到小排序,怎么写? (defun c:tt ()(setq lis '((10 20) (10 10) (10 100) (10 1)));// ((10 1) (10 10) (10 20) (10 100))
;(setq lis '((20 20) (10 10) (12 100) (10 1)));//((10 1) (10 10) (20 20) (12 100))
(if (= (car e1) (car e2))
(setq lis+ (vl-sort lis
(function (lambda (e1 e2)
(< (cadr e1) (cadr e2))
)
)
)
)
(setq lis+ (vl-sort lis
(function (lambda (e1 e2)
(< (car e1) (car e2))
)
)
)
)
)
)
页:
[1]