使用get获取包含多个向量的列表

时间:2016-12-07 11:59:54

标签: clojure

让我们说我将classA定义如下:

(def classA ["John" "16"])

如果我想从矢量中获取信息,我会打电话给

(get classA 0) ;; => "John"
(get classA 1) ;; => "16"

现在我说我将classB定义为:

(def classB '(["John" "16"] ["Simon" "17"] ["Peter" "16"]))

我如何获得“John”的信息?

由于

2 个答案:

答案 0 :(得分:1)

您可以使用first获取列表中的第一个向量:

(get (first classB) 0)

由于你想要内部集合的第一项,你也可以先使用它:

(first (first classB))

或只是ffirst

(ffirst classB)

答案 1 :(得分:1)

如果您的输入支持索引访问,则可以考虑使用get-in。 E.g。

(def classB [["John" "16"] ["Simon" "17"] ["Peter" "16"]])

(get-in classB [0 0]) => "John"

(get-in classB [1 1]) => "17"