【发布时间】:2015-11-05 09:15:12
【问题描述】:
我想从列表中删除第一个、第二个、第四个和第 8 个元素。 我能怎么做? 我试过这个:
del([],[]).
del([H1,H2,H3,H4|T],[H3|T]).
它可以工作,但我怎样才能递归地做到这一点,而不是写 8 个元素来删除我想要的位置?
【问题讨论】:
-
我认为答案取决于您希望如何概括问题。 Jay 的回答假设您想要一个完全通用的解决方案,在该解决方案中,您将获得要删除的元素的索引列表。对于一组固定的索引,Paulo 的解决方案更为直接。如果
n是2 的幂,则第三个选项是您想要删除元素n。第一个和第三个选项将使用递归,但第二个不需要它。那么你想以什么方式定义我想要的职位? -
这四个是您要删除的项目的唯一索引吗?