Clojure:将 pairs/n-tuples 列表转换为列表的 n 元组

Clojure: transform list of pairs/n-tuples into n-tuple of lists

给定一个 n 元组列表,

[[1, "a"], [2, "b"], [3, "c"]]

我想获得

[[1, 2, 3]["a", "b", "c"]]

我认为这可能作为 std 中的一个函数提供。库,就像在 python zip(*lst) 中一样。但是很遗憾没找到。

否则我想我可以想出一个使用 reduce 等的实现。但我更喜欢标准的 clojure 函数:)

(apply map vector [[1, "a"], [2, "b"], [3, "c"]])

如果你需要一个向量,你可以使用 mapv:

(apply mapv vector [[1, "a"], [2, "b"], [3, "c"]])