**lookup** +containers

*O(min(n,W))*. Lookup the value at a key in the map. See also lookup.
*O(log n)*. Lookup the value at a key in the map.
The function will return the corresponding value as (Just value), or Nothing if the key isn't in the map.
An example of using lookup:
> import Prelude hiding (lookup)
> import Data.Map
>
> employeeDept = fromList([("John","Sales"), ("Bob","IT")])
> deptCountry = fromList([("IT","USA"), ("Sales","France")])
> countryCurrency = fromList([("USA", "Dollar"), ("France", "Euro")])
>
> employeeCurrency :: String -> Maybe String
> employeeCurrency name = do
> dept <- lookup name employeeDept
> country <- lookup dept deptCountry
> lookup country countryCurrency
>
> main = do
> putStrLn $ "John's currency: " ++ (show (employeeCurrency "John"))
> putStrLn $ "Pete's currency: " ++ (show (employeeCurrency "Pete"))
The output of this program:
> John's currency: Just "Euro"
> Pete's currency: Nothing
*O(log n)*. Find smallest key greater or equal to the given one and return the corresponding (key, value) pair.
> lookupGE 3 (fromList [(3,'a'), (5,'b')]) == Just (3, 'a')
> lookupGE 4 (fromList [(3,'a'), (5,'b')]) == Just (5, 'b')
> lookupGE 6 (fromList [(3,'a'), (5,'b')]) == Nothing

*O(log n)*. Find smallest element greater or equal to the given one.
> lookupGE 3 (fromList [3, 5]) == Just 3
> lookupGE 4 (fromList [3, 5]) == Just 5
> lookupGE 6 (fromList [3, 5]) == Nothing

*O(log n)*. Find smallest element greater or equal to the given one.
> lookupGE 3 (fromList [3, 5]) == Just 3
> lookupGE 4 (fromList [3, 5]) == Just 5
> lookupGE 6 (fromList [3, 5]) == Nothing

*O(log n)*. Find smallest key greater or equal to the given one and return the corresponding (key, value) pair.
> lookupGE 3 (fromList [(3,'a'), (5,'b')]) == Just (3, 'a')
> lookupGE 4 (fromList [(3,'a'), (5,'b')]) == Just (5, 'b')
> lookupGE 6 (fromList [(3,'a'), (5,'b')]) == Nothing

*O(log n)*. Find smallest key greater than the given one and return the corresponding (key, value) pair.
> lookupGT 4 (fromList [(3,'a'), (5,'b')]) == Just (5, 'b')
> lookupGT 5 (fromList [(3,'a'), (5,'b')]) == Nothing

*O(log n)*. Find smallest element greater than the given one.
> lookupGT 4 (fromList [3, 5]) == Just 5
> lookupGT 5 (fromList [3, 5]) == Nothing

*O(log n)*. Find smallest element greater than the given one.
> lookupGT 4 (fromList [3, 5]) == Just 5
> lookupGT 5 (fromList [3, 5]) == Nothing

*O(log n)*. Find smallest key greater than the given one and return the corresponding (key, value) pair.
> lookupGT 4 (fromList [(3,'a'), (5,'b')]) == Just (5, 'b')
> lookupGT 5 (fromList [(3,'a'), (5,'b')]) == Nothing

*O(log n)*. Lookup the *index* of an element, which is its zero-based index in the sorted sequence of elements. The index is a number from *0* up to, but not including, the size of the set.
> isJust (lookupIndex 2 (fromList [5,3])) == False
> fromJust (lookupIndex 3 (fromList [5,3])) == 0
> fromJust (lookupIndex 5 (fromList [5,3])) == 1
> isJust (lookupIndex 6 (fromList [5,3])) == False
*O(log n)*. Lookup the *index* of a key, which is its zero-based index in the sequence sorted by keys. The index is a number from *0* up to, but not including, the size of the map.
> isJust (lookupIndex 2 (fromList [(5,"a"), (3,"b")])) == False
> fromJust (lookupIndex 3 (fromList [(5,"a"), (3,"b")])) == 0
> fromJust (lookupIndex 5 (fromList [(5,"a"), (3,"b")])) == 1
> isJust (lookupIndex 6 (fromList [(5,"a"), (3,"b")])) == False
*O(log n)*. Find largest key smaller or equal to the given one and return the corresponding (key, value) pair.
> lookupLE 2 (fromList [(3,'a'), (5,'b')]) == Nothing
> lookupLE 4 (fromList [(3,'a'), (5,'b')]) == Just (3, 'a')
> lookupLE 5 (fromList [(3,'a'), (5,'b')]) == Just (5, 'b')

*O(log n)*. Find largest element smaller or equal to the given one.
> lookupLE 2 (fromList [3, 5]) == Nothing
> lookupLE 4 (fromList [3, 5]) == Just 3
> lookupLE 5 (fromList [3, 5]) == Just 5

*O(log n)*. Find largest element smaller or equal to the given one.
> lookupLE 2 (fromList [3, 5]) == Nothing
> lookupLE 4 (fromList [3, 5]) == Just 3
> lookupLE 5 (fromList [3, 5]) == Just 5

*O(log n)*. Find largest key smaller or equal to the given one and return the corresponding (key, value) pair.
> lookupLE 2 (fromList [(3,'a'), (5,'b')]) == Nothing
> lookupLE 4 (fromList [(3,'a'), (5,'b')]) == Just (3, 'a')
> lookupLE 5 (fromList [(3,'a'), (5,'b')]) == Just (5, 'b')

*O(log n)*. Find largest key smaller than the given one and return the corresponding (key, value) pair.
> lookupLT 3 (fromList [(3,'a'), (5,'b')]) == Nothing
> lookupLT 4 (fromList [(3,'a'), (5,'b')]) == Just (3, 'a')

*O(log n)*. Find largest element smaller than the given one.
> lookupLT 3 (fromList [3, 5]) == Nothing
> lookupLT 5 (fromList [3, 5]) == Just 3

*O(log n)*. Find largest element smaller than the given one.
> lookupLT 3 (fromList [3, 5]) == Nothing
> lookupLT 5 (fromList [3, 5]) == Just 3

*O(log n)*. Find largest key smaller than the given one and return the corresponding (key, value) pair.
> lookupLT 3 (fromList [(3,'a'), (5,'b')]) == Nothing
> lookupLT 4 (fromList [(3,'a'), (5,'b')]) == Just (3, 'a')

Show more results