title: Generating a list of distinct (distant, by edit distance) words by filtering
body: <p>I have a long (> 1000 items) list of words, from which I would like to remove words that are "too similar" to other words, until the remaining words are all "significantly different".  For example, so that no two words are within an edit distance D.</p>
  
  <p>I do not need a unique solution, and it doesn't have to be exactly optimal, but it should be reasonably quick (in Python) and not discard way too many entries.</p>
  
  <p>How can I achieve this?  Thanks.</p>
  
  <p>Edit: to be clear, I can google for a python routine that measures edit distance.  The problem is how to do this efficiently, and, perhaps, in some way that finds a "natural" value of D.  Maybe by constructing some kind of trie from all words and then pruning?</p>