在嵌套的lisp

时间:2017-01-12 16:20:12

标签: lisp common-lisp

早上大家!!!

我实际上是想在Common Lisp中进行练习,但我不知道如何仅使用递归进行练习。

这是问题......我有嵌套列表,我必须替换其中的一些元素。我有一个例子。这是我的清单:

list_one - > (s ((1 2 t ((e 2 **x**) (4 3 **g**) (w 5 **e**))) (y 3 4 ((5 4 **u**))) (3 d 6 ((a 6 **r**) (8 5 **o**)))))

练习的目的是替换所有标记的字符。这只是一个示例,但标记字符的位置在嵌套列表中始终相同。

我必须用另一个列表中的值替换标记的字符(second_list):

second_list - > (3 4 5 6 7 8)

在此示例中,结果列表必须为:

resul_list - > (s ((1 2 t ((e 2 **3**) (4 3 **4**) (w 5 **5**))) (y 3 4 ((5 4 **6**))) (3 d 6 ((a 6 **7**) (8 5 **8**)))))

我在互联网上阅读类似内容,但实施的解决方案太难了,我无法自己实施。我正在寻找只使用递归的东西,我最大的问题是,即使我知道要在嵌套列表的结构中替换的元素的位置,我也不明白如何达到它。

谢谢大家!!

0 个答案:

没有答案