vector - 如何访问向量向量中的特定元素 clojure

标签 vector clojure

如果我有一个向量定义为

(def matrix [[1 2 3][4 5 6]])

在 Clojure 中如何访问向量向量中的随机元素?我不断看到人们在网上说,在列表上使用向量的好处之一是,您可以进行随机访问,而不必通过列表进行递归,但我一直无法找到允许我执行此操作的函数。我习惯在 C++ 中执行矩阵[1][1],它将返回第二个向量的第二个元素。

我是否必须通过向量一次循环一个元素,或者是否有更简单的方法来访问特定元素?

最佳答案

向量是关联的,因此您可以使用get-in来访问嵌套向量,例如矩阵,按坐标。

(def matrix [[1 2 3] [4 5 6] [7 8 9]])

(get-in matrix [1 1])
;=> 5

关于vector - 如何访问向量向量中的特定元素 clojure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21636904/

相关文章:

java - 比较java中的两个 vector ?

Java 和 Clojure 与 Leiningen

swift - 异构设置的简单字典,从 Clojure 移植

haskell - Clojure 中的协议(protocol)和多方法在多态性方面不如 Haskell 中的类型类强大的原因是什么?

clojure 映射对序列

python - 量化 numpy 向量的快速方法

c++ - 通过比较成员值在 vector 中查找对象

c++ - 将空终止的 const char* 字符串数组转换为 std::vector< std::string >

c++ - 在 C++ 中存储一组坐标集(成对 vector 的 vector ?)

Clojure:懒惰 + core.logic:无限循环