从 Netlogo 中的 2 个向量中获取排列

Get permutations from 2 vectors in Netlogo

我有 2 个向量,比方说

set xlims [0 9]
set ylims [0 9]

并希望获得列表中的排列:

[ [0 0] [9 0] [0 9] [9 9] ]

我一直在尝试 foreach 无济于事。

如何编码?

一个嵌套的foreach会给你你想要的。

to-report permute [ lst1 lst2 ]
  let result []
  foreach lst1 [l1 ->
    foreach lst2 [l2 ->
      set result lput (list l1 l2) result
    ]
  ]
  report result
end

permute [0 9] [0 9] 产量 [[0 0] [0 9] [9 0] [9 9]] permute [0 9] [0 9 1] 产生 [[0 0] [0 9] [0 1] [9 0] [9 9] [9 1]]

如果您想对两个以上的列表执行此操作,您可能需要递归解决方案。