title: map::lower_bound() equivalent for python's dict class?
body: <p>I am writing some code that requires me to fetch the lower bound of a key (for simplicity, ignore keys that lie below the smallest key in the collection).</p>
  
  <p>In C++, using std::map (as the most comparable data type) I would simply use the lower_bound() to return the iterator.</p>
  
  <p>My Pythonfoo is not that great, but I am guessing that (in case Python does not already have a way of doing this), this would be a good use of a lambda function ...</p>
  
  <p>What is the Pythonic way of retrieving the lower bound key for a given index?</p>
  
  <p>In case the question is too abstract, this is what I am actually trying to do:</p>
  
  <p>I have a Python dict indexed by date. I want to be able to use a date to look up the dict, and return the value associated with the lowerbound of the specified key.</p>
  
  <p>Snippet follows:</p>
  
  <pre><code>mymap = { datetime.date(2007, 1, 5): 'foo',
            datetime.date(2007, 1, 10): 'foofoo',
            datetime.date(2007, 2, 2): 'foobar',
            datetime.date(2007, 2, 7): 'foobarbar' }
  
  mydate = datetime.date(2007, 1, 7)
  
  # fetch lbound key for mydate from mymap
  def mymap_lbound_key(orig):
      pass # return the lbound for the key 
  </code></pre>
  
  <p>I don't really want to loop through the keys, looking for the first key &lt;= provided key, unless there is no better alternative ...</p>