compare dictionaries

pdlemper at pdlemper at
Wed Sep 8 07:09:59 CEST 2010

On Tue, 7 Sep 2010 12:46:36 -0700 (PDT), Baba <raoulbia at>

>level: beginner
>word= 'even'
>dict2 = {'i': 1, 'n': 1, 'e': 1, 'l': 2, 'v': 2}
>i want to know if word is entirely composed of letters in dict2
>my approach:
>step 1 : convert word to dictionary(dict1)
>for k in dict1.keys():
>           if k in dict2:
>                if dict1[k] != dict2[k]:
>                   return False
>               return True
>           return False
>        return True

Assign letters to their corresponding primes with the
following function -

    def alphaprime(c) :
        if c == 'a' return 2
        elif c == 'b' return 3
        elif c == 'c' return 5
        elif c == 'y' return 97
        elif c == 'z' return 101
        else : return 0

Using above calculate a composite for the letters in the
dictionary.  Of course begin with 1 and multiply by the
associated prime for each letter and repeat for each
recurrence of that letter.  Call this dictionarycomposite.

Do the same for the word, parsing sequentially and
multiplying by the prime for each letter. Call this

Now if 
      dictionarycomposite  %  wordcomposite == 0
the word can be spelled with the letters in the dictionary.

I used this in a word game : works fast.
The  Fundamental Theorum of Arithmetic  may apply.
                                                            Dave WB3DWE

More information about the Python-list mailing list