#!/usr/bin/python from collections import namedtuple def f(x): t, res = x, 0 while t: t, m = divmod(t, 10) res += m return res arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] Date = namedtuple('Date', 'month, day') print len(filter(lambda x: x.month == f(x.day), (Date(m+1, d+1) for m, ds in enumerate(arr) for d in xrange(ds))))