title: Elegant, pythonic solution for forcing all keys and values to lower case in nested dictionaries of Unicode strings?
body: <p>I'm curious how the Python Ninjas around here would do the following, elegantly and pythonically:</p>
  
  <p>I've got a data structure that's a dict from unicode strings to dicts from unicode strings to unicode string lists. So:</p>
  
  <pre><code>&gt;&gt;&gt; type(myDict)
  &lt;type 'dict'&gt;
  &gt;&gt;&gt; type(myDict[u'myKey'])
  &lt;type 'dict'&gt;
  &gt;&gt;&gt; type(myDict[u'myKey'][u'myKey2'])
  &lt;type 'list'&gt;
  &gt;&gt;&gt; type(myDict[u'myKey'][u'myKey2'][0])
  &lt;type 'unicode'&gt;
  </code></pre>
  
  <p>I want to go through and make every string in it lowercase, i.e. every key and every string in every list. </p>
  
  <p>How would you do this?</p>