我正在寻找一种方法,当输入 a 时Char
,该函数可以匹配列表,例如"QAZXSWEDCVFRTGBNHYUJMKIOPL"
,然后返回匹配的索引
例如,当 input 时'S'
,它可以找到'S'
列表中的第 5 个元素,然后返回整数4
(以 开头0
)。
您正在寻找以下功能elemIndex
:Data.List
elemIndex :: Eq a => a -> [a] -> Maybe Int
-- Example
main = do
let i = elemIndex 'S' "QZAXSWED"
case i of
Just idx -> print idx
Nothing -> putStrLn "'S' not found in list"
还有一个函数elemIndices
可以返回列表中元素的所有索引,但运行时间会更长,因为它每次都必须扫描整个列表。
Prelude Data.List> elemIndex 'S' "QAZXSWEDCVFRTGBNHYUJMKIOPL"
Just 4