diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-10-18 19:39:34 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-10-18 19:39:34 +0000 |
commit | 6ac91ccc8cefa4a8c8728c51e16753aab92e775f (patch) | |
tree | f1425c0cf3b2a165ef0197eb4baa4c8fe2fe90dd /lib/sqlalchemy/util.py | |
parent | edec6707ecf5c858642b081c02c26800b697bfd7 (diff) | |
download | sqlalchemy-6ac91ccc8cefa4a8c8728c51e16753aab92e775f.tar.gz |
tiny tiny speed improvements....
Diffstat (limited to 'lib/sqlalchemy/util.py')
-rw-r--r-- | lib/sqlalchemy/util.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index 925c59349..237772a40 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -40,6 +40,7 @@ if sys.version_info >= (2, 5): def __init__(self, creator): self.creator = creator + def __missing__(self, key): self[key] = val = self.creator(key) return val @@ -49,6 +50,7 @@ else: def __init__(self, creator): self.creator = creator + def __getitem__(self, key): try: return dict.__getitem__(self, key) @@ -1009,6 +1011,9 @@ class OrderedIdentitySet(IdentitySet): for o in iterable: self.add(o) +def unique_list(seq, compare_with=set): + seen = compare_with() + return [x for x in seq if x not in seen and not seen.add(x)] class UniqueAppender(object): """Appends items to a collection ensuring uniqueness. |