Una buona soluzione sarebbe quella di archiviarli all'interno di un dizionario:
>>> t = ({"a":2}, {"a":2}, {"a":3})
>>> import collections
>>> d = collections.defaultdict(list)
>>> for i in t:
... d[i['a']].append(i)
...
Ora, questo ovviamente non è quello che vuoi, ma è meglio che creare l'elenco delle liste all'interno di un loop direttamente in termini di velocità, inoltre un dizionario sembra adattarsi meglio a questo tipo di dati. Questo può anche essere convertito in qualsiasi cosa tu voglia facilmente:
>>> [k for c,k in d.items()]
[[{'a': 2}, {'a': 2}], [{'a': 3}]]
Se la velocità è critica, puoi ordinare i risultati db per data, nel qual caso puoi ottenere un algoritmo migliore.