gpt4 book ai didi

algorithm - 按元素出现删除子列表(方案)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:07:27 26 4
gpt4 key购买 nike

我如何通过仅从子列表中搜索一个元素来删除子列表。

例如,让我们列出:

( (pacific (atlanta ohaio) (NY LI))
(atlanta (pacific blue) (ohaio green)) )

我想从列表中删除“pacific”并得到:

( (pacific (atlanta ohaio) (NY LI))
(atlanta (ohaio green)) )

任何想法将不胜感激:)。

最佳答案

问题中没有明确说明从输入列表中删除元素的标准。这将适用于显示的示例:

(define lst
'((pacific (atlanta ohaio) (NY LI))
(atlanta (pacific blue) (ohaio green))))

(map (lambda (slst)
(filter (lambda (e)
(not (and (list? e) (member 'pacific e))))
slst))
lst)

=> '((pacific (atlanta ohaio) (NY LI)) (atlanta (ohaio green)))

如有必要,对于其他输入,您可以调整最里面的 lambda 中的条件,直到结果符合您的要求。例如,我解释了问题中的评论:

I want to delete the sublist that contains the searched word

如:“在子列表中的任何位置找到搜索的词”;如果搜索到的词只能在第一个位置找到,则相应地调整条件。

关于algorithm - 按元素出现删除子列表(方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20771344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com