【问题标题】:finding member in nested lists netlogo在嵌套列表中查找成员 netlogo
【发布时间】:2020-05-03 19:53:47
【问题描述】:

我正在尝试解决 netlogo 中的一个问题,该问题让我卡住了一段时间。我有两个列表(我合作过的海龟和“成功”/“不成功”的判断)。这两个列表的映射如下 [[(​​turtle 10) "successful"] [(turtle 11) "unsuccessful"] 如下:

let general-history (map list collaborators my-success)

其中合作者是编号,my-success 是一个字符串(“成功”或“不成功”)

现在,我想检查一只乌龟在它的通史列表中是否至少有一个成功的和一个不成功的合作者能够继续。这就是我到达的地方:

ifelse not empty? general-history and member? "successful " last general-history and member? "unsuccessful" last general-history

我知道这是错误的,因为这里的 last 意味着我将只查看通史的最后一个列表(即 [] [] [this one])。我想要它做的是评估整个通史嵌套列表中是否至少有两个列表(一个以“成功”作为索引 1,另一个以“不成功”作为索引 1)。

在这里 foreach 会更好地工作还是仍然可以使用成员?但是有某种元素+列表索引?非常感谢您的帮助!

【问题讨论】:

    标签: list nested netlogo member


    【解决方案1】:

    如果我正确理解了您的问题,您可以使用map 创建所有last 项目的列表(成功与否),然后将member? 应用于该列表。这是一个完整的模型示例,它构建了一些测试数据并应用了这种方法。

    to testme
      clear-all
      ; create some test data
      create-turtles 10
      let collaborators sort n-of 3 turtles
      let list-both (map list collaborators (list "yes" "no" "no"))
      print list-both
      ; check condition
      print member? "yes" map last list-both
    end
    

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      相关资源
      最近更新 更多