删除Prolog中第一次出现的元素

詹普拉德

我正在尝试从Prolog中的列表中删除第一次出现的元素。

我的代码:

remove_first_X(X,[X|Xs],Xs). %remove X
remove_first_X(X,[Y|Xs],[Y|Xs]) :-
   remove_first_X(X,Xs,Xs).

不起作用:

?- remove_first_X(1,[1,2,3],[2,3]).
true.

?- remove_first_X(1,[2,1,3],[2,3]).
false.

请帮忙!:-)

另一个尝试是更接近:

remove_first_X(X,[X|Xs],Xs).
remove_first_X(X,[Y|Xs],[Y|Ys]) :-
   remove_first_X(X,Xs,Ys).

但是在X首次出现后将其删除:

?- remove_first_X(1,X,[2,1,0]).
X = [1, 2, 1, 0] ;
X = [2, 1, 1, 0] ;
X = [2, 1, 1, 0] ;
X = [2, 1, 0, 1] ;
false.
chamini2

尝试在第二次尝试中添加一件事

remove_first_X(X,[X|Xs],Xs).
remove_first_X(X,[Y|Xs],[Y|Ys]) :- 
    X \= Y,
    remove_first_X(X,Xs,Ys).

在您运行的示例中发生的事情是

  • 因为X = [1, 2, 1, 0]它只是尝试了remove_first_X
  • 下一个元素是通过进入第二个子句,然后再次进入第一个子句,您可以看到没有什么可以阻止该X = Y东西,这是您应确保的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除Prolog中第一次出现的元素

来自分类Dev

从另一个向量中删除向量中第一次出现的元素

来自分类Dev

在每次出现的父元素中获得元素的第一次出现

来自分类Dev

Oracle XPath:选择第一次出现的元素

来自分类Dev

XSLT流程第一次出现的元素

来自分类Dev

双链表删除第一次出现的方法

来自分类Dev

删除第一次出现的右括号]

来自分类Dev

如何删除字符串中第一次出现的子字符串?

来自分类Dev

删除字符串中第一次出现的逗号

来自分类Dev

删除数组中的重复项,但保留第一次出现

来自分类Dev

从第一次出现符号中删除字符串尾部

来自分类Dev

从随机字符串中删除非数字字符,但第一次出现的是#

来自分类Dev

如何删除字符串中第一次出现的子字符串?

来自分类Dev

如果bash中存在两个,则删除第一次出现

来自分类Dev

删除字符串中第一次出现的逗号

来自分类Dev

删除每行中第一次出现的括号及其内容?

来自分类Dev

如何反复删除字符串中第一次出现的python?

来自分类Dev

在熊猫数据框中第一次出现条件之前删除所有行

来自分类Dev

Jquery从元素中删除属性(循环中)仅在第一次工作

来自分类Dev

动画仅在WPF中第一次出现

来自分类Dev

在列表中查找第一次出现

来自分类Dev

替换每行中的第一次出现

来自分类Dev

SQL识别列表中的第一次出现

来自分类Dev

列出样本中的第一次出现

来自分类Dev

动画仅在WPF中第一次出现

来自分类Dev

删除 github 中的第一次提交

来自分类Dev

在一行中第一次出现字符串后删除所有行

来自分类Dev

从文件中删除字段中具有重复值的所有行,包括第一次出现的行

来自分类Dev

使用列表删除重复出现的字符的第一次出现

Related 相关文章

  1. 1

    删除Prolog中第一次出现的元素

  2. 2

    从另一个向量中删除向量中第一次出现的元素

  3. 3

    在每次出现的父元素中获得元素的第一次出现

  4. 4

    Oracle XPath:选择第一次出现的元素

  5. 5

    XSLT流程第一次出现的元素

  6. 6

    双链表删除第一次出现的方法

  7. 7

    删除第一次出现的右括号]

  8. 8

    如何删除字符串中第一次出现的子字符串?

  9. 9

    删除字符串中第一次出现的逗号

  10. 10

    删除数组中的重复项,但保留第一次出现

  11. 11

    从第一次出现符号中删除字符串尾部

  12. 12

    从随机字符串中删除非数字字符,但第一次出现的是#

  13. 13

    如何删除字符串中第一次出现的子字符串?

  14. 14

    如果bash中存在两个,则删除第一次出现

  15. 15

    删除字符串中第一次出现的逗号

  16. 16

    删除每行中第一次出现的括号及其内容?

  17. 17

    如何反复删除字符串中第一次出现的python?

  18. 18

    在熊猫数据框中第一次出现条件之前删除所有行

  19. 19

    Jquery从元素中删除属性(循环中)仅在第一次工作

  20. 20

    动画仅在WPF中第一次出现

  21. 21

    在列表中查找第一次出现

  22. 22

    替换每行中的第一次出现

  23. 23

    SQL识别列表中的第一次出现

  24. 24

    列出样本中的第一次出现

  25. 25

    动画仅在WPF中第一次出现

  26. 26

    删除 github 中的第一次提交

  27. 27

    在一行中第一次出现字符串后删除所有行

  28. 28

    从文件中删除字段中具有重复值的所有行,包括第一次出现的行

  29. 29

    使用列表删除重复出现的字符的第一次出现

热门标签

归档