ELisp: Filter a List
How to filter a list
use seq-filter
in package
seq.el.
require
Emacs 25 (Released 2016-09)
(require 'seq) (setq xx '(1 "a" 2)) ;; remove items that's not a number (seq-filter 'numberp xx) ;; (1 2) ;; old remain unchanged xx ;; '(1 "a" 2)
Before emacs 25, use cl-remove-if
You can use the cl-remove-if
or cl-remove-if-not
in CL library, like this:
(require 'cl-lib) (cl-remove-if-not 'numberp '(1 "a" 2)) ;; (1 2)
Note: emacs 24.x renamed remove-if
to cl-remove-if
Thanks to • Artur Malabarba https://github.com/Malabarba, • Matthew Fidler https://github.com/mattfidler