【问题标题】:NetLogo: Summing up the first element of a list in a listNetLogo:总结列表中列表的第一个元素
【发布时间】:2017-06-01 21:59:51
【问题描述】:

我有一个列表,其中包含本身具有两个条目的列表元素:

list1 [[15, w1] [20, w2] [30, w3] ...]

现在,在另一个函数中,我想在 list1 中的每个列表中包含第一个元素的总和(即 15 + 20 +30 ...)

我试过的是

let weigh_dem (t_d_f * price_w) - (sum (foreach list1 [[a b] -> a] )) 

但我收到错误消息“预期的记者。

由于我是 netlogo 的新手,我很乐意就此获得建议,如果以前有关于此的帖子我没有看到,我很乐意得到提示!谢谢!

【问题讨论】:

    标签: list netlogo


    【解决方案1】:

    您正在寻找map 而不是foreach。它的工作原理与foreach 非常相似,只是它在列表中返回结果(而foreach 只是为列表中的每个项目执行命令)。此外,当在list1 上使用foreachmap 时,匿名过程的参数将是一个包含这两项的列表。所以你需要使用first来取出第一项:

    let weigh_dem t_d_f * price_w - sum map [ pair -> first pair ] list1
    

    【讨论】:

    • 没问题!确保将答案标记为正确,以便其他人知道此问题已得到解答。
    猜你喜欢
    • 2018-05-30
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多