如果我有一个Vector:
[1 2 3 4 5 6 7 8 9]
:我想用0替换5来给出:
[1 2 3 4 0 6 7 8 9]
当我只知道索引为4时,我怎么能这样做?
类似的东西:
(replace-in-vec [1 2 3 4 5 6 7 8 9] 4 0)
答案 0 :(得分:34)
assoc
也适用于矢量!
Usage: (assoc map key val) (assoc map key val & kvs)
ASSOC [莱特]。应用于地图时 返回相同的新地图 (散列/排序)类型,包含 密钥到val(s)的映射。 :当 应用于矢量,返回一个新的 在索引处包含val的向量。 注意 - 索引必须是< =(计数 矢量)。
(assoc [1 2 3] 1 :a)
=> [1 :a 3]
答案 1 :(得分:5)