netlogo将字符串转换为嵌套列表中的数字

时间:2016-04-14 13:58:34

标签: netlogo

我在NetLogo和igraph(在R中)之间转移。从igraph返回的一些信息是2级嵌套字符串列表。典型示例如下:

[ ["1" "2" "3"] ["4"] ]

我想将内部字符串转换为数字,同时保留列表结构。所以这个例子就变成了:

[ [1 2 3] [4] ]

我猜我需要mapread-from-string的组合(以及其他列表操作,例如lputforeach,因为嵌套),但我可以& #39; t使它工作。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

基本上,将每个列表映射到仅包含int值的映射列表。 请尝试以下方法:

show map [ map [ read-from-string ? ] ?] [ ["1" "2" "3"] ["4"] ]

答案 1 :(得分:4)

只是为了好玩,这是一个可以转换任意数量的嵌套级别的版本:

to-report read-from-list [ x ]
  report ifelse-value is-list? x
    [ map read-from-list x ] 
    [ read-from-string x ]
end

示例:

observer> print read-from-list [ ["1" "2" "3" ] ["4" [ "5" "6" ] ] ]
[[1 2 3] [4 [5 6]]]