在List中查找String的索引 - Haskell

ket*_*sek 0 haskell

我有以下输入:

["56", "+", "49", "-", "2", "+", "15]
Run Code Online (Sandbox Code Playgroud)

所以它是一个字符串列表,我想得到"+" - [1,5]的索引.我怎样才能实现它?

pig*_*ker 5

我会使用zip和列表理解.

indicesOf :: Eq a => a -> [a] -> [Int]
indicesOf a as = [i | (b, i) <- zip as [0..], b == a]
Run Code Online (Sandbox Code Playgroud)

Zipping with [0..]是用索引标记每个元素的标准方法,然后它是一个简单的查询.