You can loop though the selectionset and create two new ones with the items filtered like this.
This is only better if you use the whole set later, otherwise its an extra step from the solution Tharwat posted
(if (setq ss (ssget '((0 . "LINE,POINT")))) (progn
(setq lines (ssadd) ; Create empty selectionset
points (ssadd) ; Create empty selectionset
counter 0)
(repeat (setq i (sslength ss)) ; Loop through selectionset and split into two sets
(setq e (ssname ss (setq i (1- i))))
(if (eq (cdr (assoc 0 (entget e))) "LINE") ; Decide which set to add to.
(ssadd e lines)
(ssadd e points)
)
)
(setq ss nil) ; Remove origional set
; So stuff with lines-selectionset and points-selectionset
))