robierzo Posted September 19, 2012 Posted September 19, 2012 (edited) Hello. I need to convert two lists with mapcar, lambda..... Example: (setq lista '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63)))) Convert to: '((5 10) (4 9) (12 63)) Is that possible? Can not be used FOREACH!!! Regards Edited September 19, 2012 by robierzo Quote
Tharwat Posted September 19, 2012 Posted September 19, 2012 Try this ... (mapcar (function (lambda (x) (setq l (cons (cdr x) l)))) '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63)))) (apply 'append (reverse l)) With the use of foreach function . (foreach x '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63))) (setq lst (cons (cdr x) lst))) (apply 'append (reverse lst)) Quote
robierzo Posted September 19, 2012 Author Posted September 19, 2012 O.K., Tharwat. It works perfectly. Thanks Quote
Tharwat Posted September 19, 2012 Posted September 19, 2012 O.K., Tharwat. It works perfectly. Thanks You're welcome Any time . Quote
BearDyugin Posted September 19, 2012 Posted September 19, 2012 (setq lista '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63)))) (mapcar (function (lambda (x) (cadr x))) lista ) Quote
robierzo Posted September 19, 2012 Author Posted September 19, 2012 Geobuilder. it's great. Thank you very much. Quote
robierzo Posted September 19, 2012 Author Posted September 19, 2012 jajajaja. Very very very great, Lee. I guess it can not be reduced further. jejeje Quote
Tharwat Posted September 19, 2012 Posted September 19, 2012 I am ashamed Mine is longer than yours also Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.