Параметр конструктору за замовчуванням - це функція, яка буде викликана для побудови нових елементів. Тож давайте використовувати лямбда!
>>> from collections import defaultdict
>>> d = defaultdict(lambda : defaultdict(int))
>>> print d[0]
defaultdict(<type 'int'>, {})
>>> print d[0]["x"]
0
Оскільки Python 2.7 є ще краще рішення за допомогою Counter :
>>> from collections import Counter
>>> c = Counter()
>>> c["goodbye"]+=1
>>> c["and thank you"]=42
>>> c["for the fish"]-=5
>>> c
Counter({'and thank you': 42, 'goodbye': 1, 'for the fish': -5})
Деякі бонусні функції
>>> c.most_common()[:2]
[('and thank you', 42), ('goodbye', 1)]
Для отримання додаткової інформації див. PyMOTW - Колекції - типи даних про контейнери та Python Documentation - колекції