2
隨着雷博爾挑我只能得到一個元素:REBOL或Red中Python列表[3:7]的等價物是什麼?
list: [1 2 3 4 5 6 7 8 9]
pick list 3
在蟒蛇一個可以得到一個完整的子列表與
list[3:7]
隨着雷博爾挑我只能得到一個元素:REBOL或Red中Python列表[3:7]的等價物是什麼?
list: [1 2 3 4 5 6 7 8 9]
pick list 3
在蟒蛇一個可以得到一個完整的子列表與
list[3:7]
傳遞一個整數/部分假設多少你要複製的東西:
>> list: [1 2 3 4 5 6 7 8 9]
>> copy/part (at list 3) 5
== [3 4 5 6 7]
如果你提供一系列位置是結束,那麼它會複製高達這一點,所以如果你的範圍意味着包容性,你必須通過它。
>> copy/part (at list 3) (next at list 7)
== [3 4 5 6 7]
對於範圍方言有一些建議,我找不到任何副手。簡單的代碼來出主意:
range: func [list [series!] spec [block!] /local start end] [
if not parse spec [
set start integer! '.. set end integer!
][
do make error! "Bad range spec, expected e.g. [3 .. 7]"
]
copy/part (at list start) (next at list end)
]
>> list: [1 2 3 4 5 6 7 8 9]
>> range list [3 .. 7]
== [3 4 5 6 7]
>> list: [1 2 3 4 5 6 7 8 9]
== [1 2 3 4 5 6 7 8 9]
>> copy/part skip list 2 5
== [3 4 5 6 7]
所以,你可以跳到列表中的正確位置,然後儘可能多的連續的成員,因爲你需要複製。
如果你想要一個等價的函數,你可以自己寫。
哇什麼答案;) – user310291
在列表n **中不需要括號** – sqlab