如何在序言中制作列表列表

发布于 2024-11-06 15:25:42 字数 321 浏览 2 评论 0原文

我使用 SWI-Prolog,我想列出几个其他列表。

例如,我想将以下三个列表放入

[a,b,c]
[1,2]
[d]

一个较大的列表中,如下所示 [[a,b,c],[1,2],[d]]

divideList([]):-!.

divideList([Head|Tail]):-
    list_to_set(Head,H),%H is a List 
    divideList(Tail).

我想将所有 H 放在一个列表中。 我该怎么做?

I use SWI-Prolog and I want to make a list of several other lists.

For example, I want to put the following three lists

[a,b,c]
[1,2]
[d]

into a larger one that looks like [[a,b,c],[1,2],[d]] .

divideList([]):-!.

divideList([Head|Tail]):-
    list_to_set(Head,H),%H is a List 
    divideList(Tail).

I want to put all H in one list.
How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

童话里做英雄 2024-11-13 15:25:42

问题是你没有在谓词中使用 H 来放置你想要的列表

这应该可以做到

divideList([], []):-!.
divideList([Head|Tail], [H|HTail]):-
    list_to_set(Head,H),%H is a List 
    divideList(Tail, HTail).

第二个参数将包含你的列表列表。

The problem is that you are not using H in your predicate to put the list you want

This should do it

divideList([], []):-!.
divideList([Head|Tail], [H|HTail]):-
    list_to_set(Head,H),%H is a List 
    divideList(Tail, HTail).

The second argument will have your list of lists.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文