Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let rec make_index lst =
- match lst with
- [] -> []
- | [(n, kw)] -> List.map (fun s -> (s, [n])) kw
- | (n, kw) :: tl ->
- let map = List.map (fun (s,n_) ->
- if List.exists (fun kw_->kw_=s) kw then
- (s,n::n_)
- else
- (s,n_)) (make_index tl)
- in
- (List.filter (fun (kw_,_) ->
- not (List.exists (fun (s,_) -> s= kw_) map))
- (make_index [n,kw])) @ map
- ;;
- make_index [1,["a";"b"];2,["c";"a"]];;
Add Comment
Please, Sign In to add comment