[Tutor] anagrams

Karl Pflästerer sigurd at 12move.de
Wed Nov 5 16:59:38 EST 2003


On  5 Nov 2003, Gregor Lingl <- glingl at aon.at wrote:

> Triggered by a remark on the DailyPythonUrl I looked for the

Is that a newsletter?

> Kata - Site and found an interesting little problem: finding
> anagrams among the words in a textfile.

[...]
> I found a Python Solution, which needs 0.75 secs on my 2.3 GHz PC,
> but it certainly is not optimal. (Maybe someone here likes to find
> a better one?)

Don't know if mine one is better; on my PC it's 30% faster than your
solution.

> Another problem remains for me: My script finds 2531 groups
> of anagrams with 5683 words alltogether, whereas the above
> mentioned solution has only 2,530 sets of anagrams (and a total of
> 5,680 words). So I suspect, that my solution contains a bug, but
> I couldn't find it (until now).

My solution finds the same values as yours one.  Perhaps the bug is in
the Ruby code?

[Code]

f = open("wordlist.txt")

d = {}
for word in f:
    k, v = list(word.lower()), word
    k.sort()
    k = ''.join(k)
    if k in d:
        d[k].append(v)
    else:
        d[k] = [v]

f.close()

ang = [x for x in d.itervalues() if len(x) > 1]

print len(ang)
print sum([len(x) for x in ang])



   Karl
-- 
Please do *not* send copies of replies to me.
I read the list




More information about the Tutor mailing list