title: How to create a trie in Python
body: <p>I'm interested in tries and DAWGs (direct acyclic word graph) and I've been reading a lot about them but I don't understand what should the output trie or DAWG file look like.</p>
  
  <ul>
  <li>Should a trie be an object of nested dictionaries? Where each letter is divided in to letters and so on?</li>
  <li>Would a lookup performed on such a dictionary be fast if there are 100k or 500k entries?</li>
  <li>How to implement word-blocks consisting of more than one word separated with <code>-</code> or space?</li>
  <li>How to link prefix or suffix of a word to another part in the structure? (for DAWG)</li>
  </ul>
  
  <p>I want to understand the best <strong>output structure</strong> in order to figure out how to create and use one.</p>
  
  <p>I would also appreciate what should be the <strong>output of a DAWG</strong> along with <strong>trie</strong>.</p>
  
  <p>I do not want to see graphical representations with bubbles linked to each other, I want to know the output object once a set of words are turned into tries or DAWGs.</p>