訪問列表中的元素
訪問列表的第 n 個元素(從零開始):
list = [1 .. 10]
firstElement = list !! 0 -- 1
請注意,!!
是部分函式,因此某些輸入會產生錯誤:
list !! (-1) -- *** Exception: Prelude.!!: negative index
list !! 1000 -- *** Exception: Prelude.!!: index too large
還有 Data.List.genericIndex
,!!
的過載版本,它接受任何 Integral
值作為索引。
import Data.List (genericIndex)
list `genericIndex` 4 -- 5
當實現為單連結列表時,這些操作需要 O(n)
時間。如果經常按索引訪問元素,則最好使用 Data.Vector
(來自向量包)或其他資料結構。