我有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]]
如果要使用两个以上的列表来执行此操作,则可能需要递归解决方案。
希望这会有所帮助,
查尔斯