Next: 1.4 リスト行列の掛け算
Up: 1 リスト行列
Previous: 1.2 リスト行列の足し算,引き算
上にあげたリスト行列を転置すると,
((1 5 9)
(2 6 10)
(3 7 11)
(4 8 12))
となる.この転置行列を求める関数は,
(defun transpose (a)
(apply #'mapcar* #'list a)
)
> (transpose a)
((1 5 9) (2 6 10) (3 7 11) (4 8 12))
とできる.applyは第一引数に関数を与えて,その関数に渡す
引数をリストにして第二引数以降に与えることで,第一引数の関数を
実行する.
> (mapcar* #'list '(1 2) '(3 4))
((1 3) (2 4))
> (apply #'mapcar* '(list (1 2) (3 4)))
((1 3) (2 4))
> (apply #'mapcar* (list #'list '(1 2) '(3 4)))
((1 3) (2 4))
> (apply #'mapcar* #'list (list '(1 2) '(3 4)))
((1 3) (2 4))
> (apply #'mapcar* #'list '((1 2) (3 4)))
((1 3) (2 4))
generated through LaTeX2HTML. M.Inaba 平成18年5月7日