title: efficiency of long (str) keys in python dictionary
body: <p>I'm parsing some xml (with some python 3.4 code) and want to retrieve both the text from a node and its id attribute. Example:
  <code>&lt;li id="12345"&gt; Some text here &lt;/li&gt;</code>
  My current code is structured around the text only (I'm now adding the id, but didn't need this before). I'm looping through a list of text/sentences, and then proceed to do some stuff. So I thought of making a dictionary with the text/sentence as key, and this id attribute as value.</p>
  
  <p>However, this doesn't feel very efficient. The text can be a whole paragraph, making the key very long. Whereas the id is always of a fairly limited length (but still of type str though, e.g. some alpha characters followed by some digits). 
  But making the ids the key and the text the value requires some rewriting of the code. All not very problematic, but this just got me wondering: How inefficient would it be to have the text (potentially a whole paragraph) as key, compared to an id like "ulp_887362487687678" as key?</p>
  
  <p>I can just make two reverse dictionaries (one with id as key, the other with text as key) and compare construction and lookup and all. And I've also found some topics on key length limit (<a href="https://stackoverflow.com/questions/22464900/do-dictionaries-have-a-key-length-limit">Do Dictionaries have a key length limit?</a>). But I'm merely wondering what your thoughts are on this. Is having such long str keys in your dict something that you definitely want to avoid, or is it not a very big deal?
  If you could share some pro's/con's, that would be great!</p>