[Haskell-cafe] How to get subset of a list?
yumagene at gmail.com
Thu Dec 7 04:01:53 EST 2006
On 11/30/06, Huazhi (Hank) Gong <hankgong at nm.gist.ac.kr> wrote:
> Thanks, it make sense here.
> However, like I want to choose s[1,3,6,10] or something like this. Are there
> some straightforward function or operator for doing this job? The !!
> operator in haskell seems does not support multiple indecies.
Hadn't checked my mail in a few days.... but here goes:
index' :: forall a. [a] -> Int -> [a]
index' xs i = take 1 $ drop (i-1) xs
The real deal:
index :: forall a. [a] -> [Int] -> [[a]]
index cs xs = map (index' cs) xs
simple example of use:
Prelude> index "ABCDEFGHIJKLMNOPQRSTUVWXYZ" [2,5..26]
More information about the Haskell-Cafe