the bsddb module has a binary tree database but that might be overkill. Other than that I doubt there's anything in standard python that would help. If you don't plan to add any words to your dictionary you could order the list and use a binary search to find the entries. you could use python list for that :-)