对于复杂数据表排序问题的一点经验
关于排序,这两天的一点成果,一切尽在不言中,看实例;(setq pts '(("-20.5" "NAME" "13.4" "P" "15.3" "2" "A") ("-30.5" "NAME" "15.3" "G" "14.6" "5" "F" ) ("-12.3""NAME" "5.0" "D" "13.4" "3" "E")))
(setq
pts (vl-sort pts
(function (lambda (e1 e2)
(> (ATOF (CAR (CDR (MEMBER "NAME" e1))))
(ATOF (CAR (CDR (MEMBER "NAME" e2))))
)
)
)
)
)
什么用,,,,, 对NAME后的元素排序。
如果只是上面提供的表,可以更简单些。
(setq pts
(vl-sort pts
'(lambda (e1 e2) (> (ATOF(CADDR e1)) (ATOF(CADDR e2))))
)
)
;or
(setq pts
(vl-sort pts
'(lambda (e1 e2) (> (ATOF(NTH 2 e1)) (ATOF(NTH 2 e2))))
)
)
xiabin68 发表于 2013-1-27 11:30 static/image/common/back.gif
什么用,,,,,
对数据列表按照关键字进行排序,适用于任何类型数据
页:
[1]