从 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]]
如果您想对两个以上的列表执行此操作,您可能需要递归解决方案。
我有 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]]
如果您想对两个以上的列表执行此操作,您可能需要递归解决方案。