list - Clojure:将成对列表/n 元组转换为列表的 n 元组

标签 list vector clojure clojurescript

<分区>

给定一个 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"]])

关于list - Clojure:将成对列表/n 元组转换为列表的 n 元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30828610/

相关文章:

java - 如何仅传递常见对象的第三个列表?

clojure - 如何在 Clojure 中转换为 String[]?

clojure - 专门检查矩阵 Clojure 模式中的向量

java - 使用 Java Streams 对嵌套对象进行分组和排序

java - 将字符串列表存储为人类可读的路径

python - 计算两个 3D 向量之间的角度

c++ - 一个容器来存储很多元素

c++ - std::vector<int>::clear,常数时间?

clojure - Clojure 中的 Project Euler #9(勾股三元组)

c++ - 列表 <string> 的编译器错误