如何找到第一個零的索引,後面跟着5個零在列表中?如果不存在這樣的零,則返回-1。 Netlogo只返回在position
列表中找到的第一個元素,這使得它很困難/繁瑣。找到第一個元素後跟n個元素相同
0
A
回答
3
在這個問題你說你要回來-1
如果沒有找到它,但不匹配的行爲的NetLogo自己position
原始,如果沒有找到該項目返回false
。我建議堅持使用通常的NetLogo慣例。
遞歸解決方案:
to-report position-of-six-zeros [xs]
if length xs < 6
[ report false ]
if sublist xs 0 6 = [0 0 0 0 0 0]
[ report 0 ]
let recurse position-of-six-zeros butfirst xs
if not is-number? recurse
[ report recurse ]
report 1 + recurse
end
樣品試驗:
observer> show position-of-six-zeros [0 0 0 0 0]
observer: false
observer> show position-of-six-zeros [0 0 0 0 0 0 ]
observer: 0
observer> show position-of-six-zeros [1 2 3 0 0 0 0 0 0 4 5 6]
observer: 3
observer> show position-of-six-zeros [1 2 3 0 0 0 0 0 4 5 6]
observer: false
1
我找到了一個可能的解決方案。也許有更聰明的方法來達到同樣的效果,但至少這種方法應該可行。 您可以定義一個列表,您要查看的序列的長度以及序列應具有的編號。然後你用這個信息調用記者功能(check-sequence)。 記者函數然後使用一個while循環。它將採用下一個length-of-sequence
元素並按指定的number-of-interest
過濾此子列表。如果此過濾列表的長度與指定的length-of-sequence
相同,則該函數將存儲整個列表上的實際位置(i
)。如果不是,列表的第一個元素將被刪除,循環再次運行。如果列表中沒有足夠的元素,循環將停止並將記錄器設置爲-1。否則,它會報告序列的起始位置。
to go
let my-list (list 0 1 2 3 0 0 0 8 9 8)
let length-of-sequence 4
let number-of-interest 0
print check-sequence my-list length-of-sequence number-of-interest
end
to-report check-sequence [a-list sequence number]
let i 0
let stopper 0
let reporter 0
while [stopper = 0]
[
let filtered_sublist filter [? = number] (sublist a-list 0 sequence)
if (length filtered_sublist = sequence)
[
set reporter i
set stopper 1
]
set a-list but-first a-list
set i (i + 1)
if (length a-list < sequence)
[
set stopper 2
]
]
ifelse (stopper = 2)
[ report -1 ]
[ report reporter ]
end
相關問題
- 1. 如何找到第n個p元素?
- 2. Selenium WebDriver找到第n個元素
- 3. 得到每一個第n個元素或最後一個
- 4. 通過base px * n第n個元素縮進每個第n個元素
- 5. 如何選擇多個元素具有相同類別的第n個元素
- 6. 選擇元素相同的第一個
- 7. 獲取元素相對於第n個父元素的位置
- 8. Zen第n個元素
- 9. jQuery:在第n個元素後添加元素
- 10. jquery更新第n個元素後的所有元素?
- 11. 爆炸後只取第一個(或第n個)元素
- 12. 讓元素跟隨另一個元素
- 13. Python ElementTree找到第一個元素
- 14. Xpath找不到第一個元素
- 15. 找到第n個素數
- 16. 我如何計算元素直到找到N個好元素?
- 17. 得到jquery中元素的第n個子元素號
- 18. 插入到第n個元素的元素
- 19. 更新嵌套列表中第n個元素的第n個元素
- 20. 第一個最後一個元素
- 21. CSS第n個子公式選擇第7個元素和第5個元素
- 22. 如果第二個元素相同,則將列表中的第一個元素合併爲一個元組?
- 23. 找到第k個鏈接列表的最後一個元素
- 24. 硒找到第一個元素的前同胞元素永遠掛起
- 25. Prolog DCG:找到最後一個元素
- 26. 如何包裝第一個元素,然後每個n與jQuery?
- 27. 找到一個元素
- 28. Arraylist讀取最後一個元素作爲第二個最後一個元素
- 29. 點擊第n項後,我該如何處理另一個第n個元素?
- 30. 代碼僅適用於找到的第一個元素,存在多個具有相同ID的元素
所以,你要的6個零列表中的第一序列的開始? – JenB
是的。 。 –