我有一个列表,我想对前3项列表进行操作,如果它们不是0.i可以通过下面的代码对每个项目进行操作,但不知道如何对前3项进行操作。
foreach list2
[
if (item ? list2 != 0)
[
set candidatelist lput (item ? list3) candidatelist
]
]
答案 0 :(得分:4)
这是获得前n个元素的帮手:
to-report take [n xs]
report sublist xs 0 min list n (length xs)
end
现在我们可以写:
filter [? != 0] take 3 ...
示例运行:
observer> show filter [? != 0] take 3 [1 0 3 4 5]
observer: [1 3]
答案 1 :(得分:1)
我在下面写了代码来解决它:
let m 0
foreach list2
[
if (m < 3)
[
if (item ? list2 != 0)
[
set candidatelist lput (item ? list3) candidatelist
]
set m m + 1
]
]