将列表列表转换为clojure
我有一个转置函数,用于固定的算术运算将列表列表转换为clojure,clojure,Clojure,我有一个转置函数,用于固定的算术运算 (defn transpose [a b c] (map list a b c)) (transpose '(1 2 3) '(4 5 6) '(7 8 9)) ((1 4 7) (2 5 8) (3 6 9)) (apply transpose (list '(1 2 3) '(4 5 6) '(7 8 9))) ((1 4 7) (2 5 8) (3 6 9)) 但是我怎样才能把它推广到n个参数,这样我就可以把它称为: (transpose '
(defn transpose [a b c]
(map list a b c))
(transpose '(1 2 3) '(4 5 6) '(7 8 9))
((1 4 7) (2 5 8) (3 6 9))
(apply transpose (list '(1 2 3) '(4 5 6) '(7 8 9)))
((1 4 7) (2 5 8) (3 6 9))
但是我怎样才能把它推广到n个参数,这样我就可以把它称为:
(transpose '(1 2) '(4 5))
(transpose '(1 2 3) '(4 5 6) '(7 8 9))
...
我觉得我需要像下面这样的东西
(defn transpose [& xs]
(apply (map list) xs))
(defn transpose [& xs]
(apply map list xs))
但是我不能让它工作。你离得太近了: