gpt4 book ai didi

list - Prolog 列表合并问题?

转载 作者:行者123 更新时间:2023-12-02 08:54:32 25 4
gpt4 key购买 nike

如何合并这样的两个列表?

[a,b,c] 

[1,2,3]

我想列出这个列表

[a=1,b=2,c=3]. 

我该怎么做? (我使用swi prolog)

Thanks for your answers. I have a question about it. I write

start:- consult('tennis.pl'),
see('tennis.pl'),
repeat,
read(A),
A=..List,
(A\=end_of_file->
(A\=end_of_file,member('attributes',List)->
delete(List,'attributes',NewList2);true),
(A\=end_of_file,member('data',List)->
delete(List,'data',NewList);true),
merge(NewList2,NewList,Try),
write(Try),nl;true),
A=end_of_file,!,

seen.


[outlook=_G40,temperature=_G49,humidity=_G58,wind=_G67,play_tennis=_G76]
[_G40=sunny,_G49=hot,_G58=high,_G67=weak,_G76=no]
[_G40=sunny,_G49=hot,_G58=high,_G67=strong,_G76=no]
[_G40=overcast,_G49=hot,_G58=high,_G67=weak,_G76=yes]
[_G40=rain,_G49=mild,_G58=high,_G67=weak,_G76=yes]
[_G40=rain,_G49=cool,_G58=normal,_G67=weak,_G76=yes]
[_G40=rain,_G49=cool,_G58=normal,_G67=strong,_G76=no]
[_G40=overcast,_G49=cool,_G58=normal,_G67=strong,_G76=yes]
[_G40=sunny,_G49=mild,_G58=high,_G67=weak,_G76=no]
[_G40=sunny,_G49=cool,_G58=normal,_G67=weak,_G76=yes]
[_G40=rain,_G49=mild,_G58=normal,_G67=weak,_G76=yes]
[_G40=sunny,_G49=mild,_G58=normal,_G67=strong,_G76=yes]
[_G40=overcast,_G49=mild,_G58=high,_G67=strong,_G76=yes]
[_G40=overcast,_G49=hot,_G58=normal,_G67=weak,_G76=yes]
[_G40=rain,_G49=mild,_G58=high,_G67=strong,_G76=no]

但是我得到了这个结果。为什么?您对此有什么想法吗?

最佳答案

谓词可能如下所示:

   merge([], [], []).
merge([X|Xs], [Y|Ys], [X=Y|Zs]) :- merge(Xs, Ys, Zs).

您从空列表的基本情况开始,并按情况归纳两个具有相同长度的列表。

关于list - Prolog 列表合并问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6010962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com