【问题标题】:How to change an order of list of lists如何更改列表列表的顺序
【发布时间】:2014-09-19 16:21:24
【问题描述】:

我有一个变量和值之间的替换列表 它们显示在列表[[x,y],[1,2]] 中(意味着x 的值等于1y 的值等于2)。 我想将列表更改为表示[[x,1],[y,2]] 的对列表, 我尝试使用append,以便在递归的每个步骤中创建一对并将其附加到新列表中,但这样做有问题(主要是选择每对的头部和尾部)

【问题讨论】:

标签: prolog


【解决方案1】:

您的示例有点做作,但是转置它有点矫枉过正,特别是如果您要自己实现。我认为这应该可以解决您的需求

'change an order of list of lists'([X_Y_Z, A_B_C], XA_YB_ZC) :-
    findall([K, V], (nth1(I, X_Y_Z, K), nth1(I, A_B_C, V)), XA_YB_ZC).

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2022-12-04
    • 2017-03-14
    相关资源
    最近更新 更多