如果我有两个列表,说A和B制造不同的字母。列表A中的[b,a,c]和列表B中的[b,d,c,e] 我怎样才能得到序言给我C,这是列表B中没有包含的元素列表B例如, 所以,如果我输入
difference([b,a,c],[b,d,c,e],C).
我想要的答案为:C=[a]
如何在序言中找到列表中的差异,并确定列表是否相同(相同的元素但不必具有相同的顺序),如果我有两个列表,其中列表一个由关[A,B,C]和列表B是[C,A, b] 我想要结果是
Yes
如果我键入:same([a,b,c],[c,a,b]).
因为它们包含相同的元素,它们以不同的顺序并不重要。如果所有的元素都是相同的,如果3/4是正确的,它也应该只回答是。
1
A
回答
1
因为这看起来像功课我会给一些想法不仅没有实际代码:
member(X, [X|_]).
member(X, [_|T]) :- member(X, T).
:
首先,您可以用确定的元素是一个列表的成员成员的程序启动
因此,X既可以是列表的头部,也可以是尾部的成员。然后
第一个问题可以被回答为:
1. If list A is empty then list C is empty
2. The head of A (HA) is the head of C if member(HA, B) is false AND the Tail of C (CT) can be found by recursively calling the procdure with the tail of A (TA), B and CT.
3. Otherwise, if HA is a member of B then just recusively call the procedure on TA, B and C
类似地,第二个问题可以使用上述程序的回答。如果A中不在B中的字母列表是空的,并且A的每个元素都是B的成员,那么它们是相同的。
我希望这会有所帮助。你总是可以发布你的尝试,这样我们可以给更多的指针。
相关问题
- 1. 在Excel中合并具有相同标题但顺序不同的表
- 2. 确定2个列表是否具有相同的元素,而不管顺序如何?
- 3. Linq:查找具有不同值但相同索引的2列表的元素
- 4. 确定列表是否具有python中相同的连续元素
- 5. 在列表中查找相同或相似的序列
- 6. 确定序列中两个或多个元素是否具有相同属性
- 7. 在元组列表中找到相同的元素?
- 8. 表不是以相同的顺序mySQL
- 9. matlab洗牌元素的矢量具有相同的序列相同的数字
- 10. 如何找到python中相同的元组列表中的所有元素?
- 11. 查找列表差异具有相同值
- 12. R:删除具有相同元素的行,但在不同的列中
- 13. Erlang在列表中找到连续的相同元素
- 14. 查找两个列表中相同顺序的常见元素Python
- 15. 如何在Scala中定义相同元素的函数列表?
- 16. 找到所有的序列具有相同的列值
- 17. 如何确定具有相同DockStyle的控件的顺序?
- 18. 断言在Python中没有顺序的列表相等列表
- 19. 如何在XML Schema中定义具有相同名称但不同类型的元素序列?
- 20. 如何获取具有相同名称的列表元素?
- 21. 检查列表中的某些元素是否相同
- 22. Linq查询列表中包含有相同的顺序
- 23. 在列表中使用相同元素的分割列表
- 24. 如何更改列表中相同的所有元素?
- 25. 检查两个列表中的相同位置是否有相同的值
- 26. XML序列化:如何区分使用相同元素名称但在属性中具有不同值的类?
- 27. 如何比较2个相同长度列表中的确切列表元素?
- 28. 在两张不同的工作表中找到具有相同列的选定行并从中删除它
- 29. JTextArea中具有相同的参数,但不相同的尺寸
- 30. 查找列表中的相同行