[英]Get the Index of elements in list in Haskell
我有一個列表[4539, 5646, 6547, 7546]
。
我怎樣才能得到每個元素的索引?
索引 4539 --> 0
索引 5646 --> 1
索引 6547 --> 2
索引 7546 --> 3
-- >> elemIndex 4539 [4539, 5646, 6547, 7546]
-- 0
-- >> elemIndex 5646 [4539, 5646, 6547, 7546]
-- 1
-- >> elemIndex 6547 [4539, 5646, 6547, 7546]
-- 2
elemIndex :: Eq a => a -> [a] -> Int
找不到元素時會發生什么?
>> elemIndex 20 []
*** Exception: elemIndex: empty list
通常的解決方案是將索引包裝在Maybe
中。 此elemIndex
函數存在於Data.List
中。
-- >> elemIndex 4539 [4539, 5646, 6547, 7546]
-- Just 0
-- >> elemIndex 5646 [4539, 5646, 6547, 7546]
-- Just 1
-- >> elemIndex 6547 [4539, 5646, 6547, 7546]
-- Just 2
-- >> elemIndex 20 []
-- Nothing
elemIndex :: Eq a => a -> [a] -> Maybe Int
如果要返回出現的列表,請使用elemIndices
。
-- >> elemIndices 'o' "ooookay"
-- [0,1,2,3]
elemIndices :: Eq a => a -> [a] -> [Int]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.