我有以下输入:
["56", "+", "49", "-", "2", "+", "15]
所以它是一个字符串列表,我想得到“+” - [1,5]的索引。我怎样才能实现它?
答案 0 :(得分:5)
我使用zip
和列表理解。
indicesOf :: Eq a => a -> [a] -> [Int]
indicesOf a as = [i | (b, i) <- zip as [0..], b == a]
使用[0..]
进行压缩是使用索引标记每个元素的标准方法,然后它就是一个简单的查询。
答案 1 :(得分:0)
Data.List
elemIndices
函数
elemIndices :: Eq a => a -> [a] -> [Int]
作为
>>> elemIndices "+" ["56","+","49","-","2","+","15"]
[1,5]