【发布时间】:2018-06-13 07:06:52
【问题描述】:
我有一个整数列表,即 Keys,并希望将其拆分为两个列表 ListOfReqKeys 和 ListOfRewKeys,如标题中所述。
Keys =[1, 1, 3, 9, 1, 15]
ReqK = 3
ListOfReqKeys = [1, 1, 3], ListOfRewKeys = [9, 1, 15]
这两个列表的长度是已知的,分别是它的 ReqK 和 RewK。
append(ListOfReqKeys, ListOfRewKeys, Keys),
atom_codes(At, ListOfReqKeys),
atom_number(At, ReqK).
是否有内置谓词或更快的方法?
【问题讨论】:
-
请提供示例输入和期望的输出,以及执行(或尝试执行)您想要的完整程序。那么请定义一下“更好”对您意味着什么。
-
@Enigmativity 感谢您的评论...这部分代码是否不足以让人们理解问题?
-
不,不是。我希望能够运行您的代码并查看结果。阅读如何创建minimal reproducible example。
-
您需要任意拆分能力,还是列表总是一分为二?如果您想更快,那么缩小要求有时会有所帮助。
-
您的代码中包含
append、atom_codes和atom_number似乎混淆了您所询问的内容。我不清楚该代码的用途。使用您的示例值,atom_codes(At, ListOfReqKeys)将导致At = '\001\001\003',然后atom_number(At, ReqK)将失败,因为绑定到At的原子不代表数字。