例如,如果我有一个类似下面的列表,您如何识别包含所有“ 0”的内部列表组?
crossOrigin
答案 0 :(得分:2)
您可以使用filter
和n-values
来检查过滤后的项目是否等于其长度等于零的数字:
to-report clean [ list_ ]
report filter [ f -> f != n-values length f [0] ] list_
end
to check
let all [[0 0 1303] [0 0 0] [0 0 0] [1303 0 0] [0 0 0] [0 1303 0] [0 0 0] [0 0 1303]]
print clean all
print clean [ [ 0 ] [ 0 1 ] [ 1 0 ] [ 0 0 ] [ 0 0 0 0 0 0 ] [ 1 0 0 0 ] ]
end
运行check
过程后的输出:
[[0 0 1303] [1303 0 0] [0 1303 0] [0 0 1303]]
[[0 1] [1 0] [1 0 0 0]]
答案 1 :(得分:0)
制定如下解决方案。有没有更好,更简单的方法? (例如,使用地图功能)
let a [[0 0 1303] [0 0 0] [0 0 0] [1303 0 0] [0 0 0] [0 1303 0] [0 0 0] [0 0 1303]]
foreach a [x -> if (length filter [ i -> i > 0 ] x) = 0 [set a remove x a]]
show a