newLISP Fan Club

Forum => Anything else we might add? => Topic started by: Dmi on November 03, 2005, 07:09:00 AM

Title: select column from two-dimension list
Post by: Dmi on November 03, 2005, 07:09:00 AM
Is there a more simple way to do this:
(define (select-column lst col)
  (let l '()
    (dolist (i lst)
       (push (i col) l -1))
   l))
Title:
Post by: Sammo on November 03, 2005, 07:39:34 AM
(define (select-column lst col)
   (map (fn (row) (row col)) lst) )
Title:
Post by: Dmi on November 03, 2005, 07:50:18 AM
I'm stupid today! :-)

Thanx!
Title:
Post by: Fanda on November 03, 2005, 11:24:46 AM
Not really from my head :-)


> (setq L '((1 2) (3 4) (5 6)))
((1 2) (3 4) (5 6))
> (transpose L)
((1 3 5) (2 4 6))
> ((transpose L) 0)
(1 3 5)
> ((transpose L) 1)
(2 4 6)
>


It should be fast too...



Fanda