En snygg lösning skulle vara att lagra dem i en ordbok:
>>> t = ({"a":2}, {"a":2}, {"a":3})
>>> import collections
>>> d = collections.defaultdict(list)
>>> for i in t:
... d[i['a']].append(i)
...
Nu är detta uppenbarligen inte vad du vill ha men det här är bättre än att skapa listan med listor i en loop direkt när det gäller hastighet, även en ordbok verkar passa bättre för denna typ av data. Detta kan också enkelt konverteras till vad du vill:
>>> [k for c,k in d.items()]
[[{'a': 2}, {'a': 2}], [{'a': 3}]]
Om hastigheten är kritisk kan du sortera db-resultaten efter datum, i så fall kan du få en bättre algoritm.