【问题标题】:stretching a list in prolog [duplicate]在序言中拉伸列表[重复]
【发布时间】:2015-05-21 21:53:57
【问题描述】:

我希望能够转

这个: [[[a],b],c]

进入这个: [a,b,c]

列表不断变化,到目前为止我已经这样做了:

a([[[A],B],C]).
strechList(List,C):-
    List=[H,T],
    append(T,List1,C),
    strechList(H,List1).
strechList(A,A).

但它不起作用。

【问题讨论】:

  • [H,T] 是一个只有两个元素的列表。我假设您的意思是,[H|T] 这是一个列表,其第一个元素(head)是Htail listT。你的规则strechList(A, A). 说任何列表都是自身的延伸,这听起来不正确。

标签: list prolog flatten


【解决方案1】:

那个谓词叫做'flatten'。如果您使用的是 SWI-Prolog,它是内置的。 还要检查this的答案。

【讨论】:

  • 谢谢你,我实际上正在使用 SWi-prolog,这真的很有帮助。 :)
猜你喜欢
  • 1970-01-01
  • 2020-01-31
  • 2013-06-28
  • 1970-01-01
  • 2018-07-30
  • 1970-01-01
  • 2022-01-12
  • 2012-07-25
  • 1970-01-01
相关资源
最近更新 更多