簡體   English   中英

prolog如何從列表中刪除元素?

[英]prolog how to remove an element from a list?

我知道刪除的減法謂詞從列表中刪除項目列表

subtract([a,b,c,a,b], [a,c], X).

但有什么相似的

remove([a,b,c,a,b], a, X).

我知道我可以修改上面的內容

subtract([a,b,c,a,b], [a], X).

達到預期的效果。

但我想知道是否還有其他辦法?

編輯:

@ user27815

你確實提供了一個非常詳細的答案,但我仍然非常新的prolog。 也許我沒有正確地問這個問題(我的壞)。 如果有另一種方法來實現這一點。它是預先定義的還是我必須自己定義它。 我能舉個例子嗎?

當然,有很多方法。 一個好方法是使用庫reif。

請重復查看此問題的答案:

刪除列表中的元音

有一些常規用法謂詞被定義為可以適應您的程序。

remove(List,Element,NewList):-
     tinclude(not(list_memberd_truth([Element])),List,NewList). 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM