将矩阵分解为序言中的第一个元素列表和其余元素的子列表

克里希纳(Krishna Kalyan)

测试用例

?- decompose([[1,2,8],[3,4],[5,6]], L1, L2).
L1 = [1,3,5], L2 = [[2,8],[4],[6]] ? ;
no

我尝试了另一种实现,但是给出的反馈是效率低下。

实施效率低下

listFirst([], []).
listFirst([H1|T1], [H2|Z]):-
    H1 = [H2|_],
    listFirst(T1, Z).

listFollowers([], []).
listFollowers([H1|T1], [T2|Z]):-
    H1 = [H2|T2],
    listFollowers(T1, Z).

decompose(A,L1,L2) :-
    listFollowers(A, L2),
    listFirst(A, L1).
重复

跟进@findall的先前答案...使用 maplist/4怎么样?

list_head_tail([X | Xs],X,Xs)。

分解(Mss,Hs,Ts):- maplist(list_head_tail,Mss,Hs,Ts)。

   

查询样例:

?-分解([[a,b,c],[d,e,f]],头,尾巴)。
头= [a,d],尾巴= [[b,c],[e,f]]。

α-分解([[1,2,8],[3,4],[5,6]],L1,L2)。
L1 = [1,3,5],L2 = [[2,8],[4],[6]]。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将第一个元素与列表中的最大元素交换-Python

来自分类Dev

从Haskell的列表中删除第一个和最后一个元素

来自分类Dev

列表与列表的第一个元素之间的交集

来自分类Dev

从给定索引和许多元素的列表中创建一个子列表。序言

来自分类Dev

将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

来自分类Dev

我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

来自分类Dev

Python:遍历列表和子列表并匹配第一个元素并进行更多操作

来自分类Dev

在序言中将矩阵分解为第一个元素的列表和其余元素的子列表

来自分类Dev

递归将列表分解为元素

来自分类Dev

列表OCaml的第一个和最后一个元素

来自分类Dev

仅更改列表中第一个元素的方法(将列表作为参数传递)

来自分类Dev

访问第一个元素后无法通过xpaths在循环中访问其余元素-WebScraping Selenium Python

来自分类Dev

如何将第一个元素与其余元素进行比较,如何将第二个元素与其余元素进行比较,并进行相同的重复

来自分类Dev

如何通过使第一个插入位置保持不变来对列表中插入的其余元素进行排序?

来自分类Dev

将N个元素的列表分解为大小为S的节点

来自分类Dev

将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

来自分类Dev

将列表的第一个元素与另一个列表进行比较

来自分类Dev

我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

来自分类Dev

Python:检查第一个元素之后每个项目或子列表的列表和运行方法的长度

来自分类Dev

将嵌套列表转换为dict,其中列表的第一个元素是dict的键

来自分类Dev

将列表A的第一个元素转换为列表A的前两个元素的列表

来自分类Dev

使用递归查找列表的第一个和最后一个元素

来自分类Dev

使用python将子列表中的第一个元素与同一列表中的元素合并

来自分类Dev

如何将列表中的每个元素除以第一个元素

来自分类Dev

删除列表列表的第一个元素,压缩列表列表?元素太多?

来自分类Dev

如何通过循环将矩阵的第一个元素附加到列表中?

来自分类Dev

将嵌套列表的第一个元素绑定到嵌套列表的后续元素

来自分类Dev

如果第一个和最后一个元素相等,则完整列表

来自分类Dev

AWS API Gateway 只允许表单数据的第一个元素并忽略其余元素

Related 相关文章

  1. 1

    将第一个元素与列表中的最大元素交换-Python

  2. 2

    从Haskell的列表中删除第一个和最后一个元素

  3. 3

    列表与列表的第一个元素之间的交集

  4. 4

    从给定索引和许多元素的列表中创建一个子列表。序言

  5. 5

    将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

  6. 6

    我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

  7. 7

    Python:遍历列表和子列表并匹配第一个元素并进行更多操作

  8. 8

    在序言中将矩阵分解为第一个元素的列表和其余元素的子列表

  9. 9

    递归将列表分解为元素

  10. 10

    列表OCaml的第一个和最后一个元素

  11. 11

    仅更改列表中第一个元素的方法(将列表作为参数传递)

  12. 12

    访问第一个元素后无法通过xpaths在循环中访问其余元素-WebScraping Selenium Python

  13. 13

    如何将第一个元素与其余元素进行比较,如何将第二个元素与其余元素进行比较,并进行相同的重复

  14. 14

    如何通过使第一个插入位置保持不变来对列表中插入的其余元素进行排序?

  15. 15

    将N个元素的列表分解为大小为S的节点

  16. 16

    将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

  17. 17

    将列表的第一个元素与另一个列表进行比较

  18. 18

    我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

  19. 19

    Python:检查第一个元素之后每个项目或子列表的列表和运行方法的长度

  20. 20

    将嵌套列表转换为dict,其中列表的第一个元素是dict的键

  21. 21

    将列表A的第一个元素转换为列表A的前两个元素的列表

  22. 22

    使用递归查找列表的第一个和最后一个元素

  23. 23

    使用python将子列表中的第一个元素与同一列表中的元素合并

  24. 24

    如何将列表中的每个元素除以第一个元素

  25. 25

    删除列表列表的第一个元素,压缩列表列表?元素太多?

  26. 26

    如何通过循环将矩阵的第一个元素附加到列表中?

  27. 27

    将嵌套列表的第一个元素绑定到嵌套列表的后续元素

  28. 28

    如果第一个和最后一个元素相等,则完整列表

  29. 29

    AWS API Gateway 只允许表单数据的第一个元素并忽略其余元素

热门标签

归档