在两个列表之间划分并将结果存储在列表中 NetLogo
Division between two lists and store the results in a list NetLogo
我有两个长度相同的列表。我想将它们一一划分。第一个列表中的第一个元素除以第二个列表中的第一个元素。并将结果存储在一个新列表中。
假设有两个名为 a 和 b 的列表。新的结果列表是 c。
我现在有这样的东西:
foreach a b [[element-a element-b] -> element-a / element-b]
但是没用。我如何将结果存储在 c?
你需要的不是foreach
,而是map
!
to demo
let list-a [ 4 12 30 ]
let list-b [ 2 3 5 ]
print (map [ [a b] -> a / b ] list-a list-b) ; long syntax
print (map / list-a list-b) ; concise syntax
end
每当您想从一个或多个列表中创建一个新列表时,map
很可能是最佳解决方案。它是 NetLogo 中最有用的原语之一。
请注意,您需要在表达式两边加上括号,因为您要将多个列表传递给 map
。
我有两个长度相同的列表。我想将它们一一划分。第一个列表中的第一个元素除以第二个列表中的第一个元素。并将结果存储在一个新列表中。 假设有两个名为 a 和 b 的列表。新的结果列表是 c。 我现在有这样的东西:
foreach a b [[element-a element-b] -> element-a / element-b]
但是没用。我如何将结果存储在 c?
你需要的不是foreach
,而是map
!
to demo
let list-a [ 4 12 30 ]
let list-b [ 2 3 5 ]
print (map [ [a b] -> a / b ] list-a list-b) ; long syntax
print (map / list-a list-b) ; concise syntax
end
每当您想从一个或多个列表中创建一个新列表时,map
很可能是最佳解决方案。它是 NetLogo 中最有用的原语之一。
请注意,您需要在表达式两边加上括号,因为您要将多个列表传递给 map
。