创建组合列表? Lua /伪代码

问题描述 投票:0回答:1

所以我想将列表中的所有值乘以3个不同的值,然后将所有值加起来。

List( 1, 2, 3, 4, ...)
List2(-1, 0, 1)

看起来像:

-1-2-3-4
0-2-3-4
1-2-3-4
-1+0-3-4
-1+2-3-4
-1-2+0-4

依此类推,进行所有可能的组合,其中将List的每个成员乘以List2的一个成员,然后将结果列表相加。除了通过List的for循环外,我还没有任何代码。

[请让我知道我可以如何改善这篇文章。

lua
1个回答
0
投票

您需要的只是两个表的嵌套for循环:

for i, item_A in ipairs(list_A) do
  for j, item_B in ipairs(list_B) do
    print(item_A, item_B)
  end
end

请注意,对于长列表,嵌套循环相当慢,因此您可能需要对其进行一些优化。使用一些数学,您可以轻松地将它简化为两个循环和一个乘法。

© www.soinside.com 2019 - 2024. All rights reserved.