>>281
In [1]: from collections import defaultdict
In [2]: d = defaultdict(lambda: defaultdict(list))
In [3]: d['w']['x'].append('z')
In [4]: d
Out[4]: defaultdict(<function <lambda> at 0x12c7488>, {'w': defaultdict(<type 'list'>, {'x': ['z']})})

statetab[(w1, w2)] みたいに、1階層で単語のタプルをキーにすることもできるね。