Een mooie oplossing zou zijn om ze in een woordenboek op te slaan:
>>> t = ({"a":2}, {"a":2}, {"a":3})
>>> import collections
>>> d = collections.defaultdict(list)
>>> for i in t:
... d[i['a']].append(i)
...
Dit is natuurlijk niet wat je wilt, maar dit is beter dan de lijst met lijsten in een lus rechtstreeks in termen van snelheid te maken, ook een woordenboek lijkt beter geschikt voor dit soort gegevens. Dit kan ook eenvoudig worden omgezet naar wat je maar wilt:
>>> [k for c,k in d.items()]
[[{'a': 2}, {'a': 2}], [{'a': 3}]]
Als de snelheid kritiek is, kunt u de db-resultaten sorteren op datum, in welk geval u een beter algoritme kunt krijgen.