我想将一个列表对转换为两个列表 - 首先包含对的第一个元素,第二个包含对的第二个元素。如何在SWI-Prolog中使用foreach
E.g.
[['Test1', 'US'], ['Test1', 'France'], ['Test2', 'German']]
应该产生
List1 = ['Test1', 'Test1', 'Test2']
List2 = ['US', 'France', 'German']
我试图用foreach
并想出这个功能:
testfor:-
List = [['Test1', 'US'], ['Test1', 'France'], ['Test2', 'German']],
(
foreach(X,List) do
X=[F,S],
append([F],[],List1),
append([S],[],List2)
),
writeln(List1).
它不工作,我很困惑。我在哪里犯了一个错误?当然,您可以使用您的方法帮助我实现此功能(即“不要使用foreach
”)。