Replace an item in a list in Common Lisp?

前端 未结 10 1724
春和景丽
春和景丽 2021-02-02 10:12

I have a list of things (I\'ll call it L), an index(N) and a new thing(NEW). If I want to replace the thing in L at N with NEW, what is the best way to do this? Should I get the

10条回答
  •  礼貌的吻别
    2021-02-02 10:38

    The obvious solution is slow and uses memory, as noted by others. If possible, you should try to defer replacing the element(s) until you need to perform another element-wise operation on the list, e.g. (loop for x in list do ...).

    That way, you'll amortize away the consing (memory) and the iteration (cpu).

提交回复
热议问题