Dictionary1 = {0: 'A', 1: 'B', 2: 'C', 3: 'D',......., 25: 'Z'}
Dictionary2 = {0: 'A', 1: 'B', 2: 'C', 3: 'D',......., 25: 'Z'}
Dictionary3 = {0: 'AA', 1: 'AB', ......, 25: 'AZ', .....}
import string, itertools
alphabet = string.uppercase
product = map(''.join, itertools.product(alphabet, alphabet))
print product
print dict(enumerate(product))
>>> Dictionary1 = {0: 'A', 1: 'B', 2: 'C',}
>>> Dictionary2 = {0: 'A', 1: 'B', 2: 'C',}
>>> max_key=max(Dictionary1.iterkeys())
>>> {k1+k2*max_key:'%s%s'%(v2,v1) for k1,v1 in Dictionary1.iteritems() for k2,v2 in Dictionary2.iteritems()}
{0: 'AA', 1: 'AB', 2: 'AC', 3: 'BB', 4: 'BC', 5: 'CB', 6: 'CC'}