我的问题是从列表中删除项目并将其替换为新值。
例如,如果我有列表'(F J (N R D A))
,我想用一个全新的列表替换它,例如'(F J (M G E Q F))
。所以我将删除最里面的列表并用新的列表替换它。有什么建议吗?
答案 0 :(得分:0)
您可以使用clojure.walk
递归替换数据结构的元素:
(def my-list '(F J (N R D A)))
(walk/postwalk
#(if (= '(N R D A) %)
'(M G E Q F)
%)
my-list)
=> (F J (M G E Q F))
答案 1 :(得分:0)
怎么样:
(replace {'(N R D A) '(M G E Q F)} '(F J (N R D A))) => (F J (M G E Q F))