我有一个嵌套列表:( def mylist'(+'(+ 1 2)3))
当我评估它时,我按预期得到6 :( eval mylist)
如何更改最后一个元素(3)?我想得到一个这样的清单:
(+ (+ 1 2) 4)
我试过
(list (butlast mylist) 4)
但它产生了这个:
((+ (+ 1 2)) 4)
即。第一部分嵌套在列表本身中。我该如何解决?我正在递归地建立列表数据结构,稍后我将通过eval函数对其进行评估。
答案 0 :(得分:3)
您可以使用以下内容:
(concat (drop-last mylist) '(4))