added key argument to unique function

--HG--
extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40618
This commit is contained in:
Pablo Hoffman 2009-01-02 20:42:20 +00:00
parent e1c738a49e
commit f8a6e2fc7c
1 changed files with 4 additions and 3 deletions

View File

@ -41,14 +41,15 @@ def flatten(x):
return result
def unique(list_):
def unique(list_, key=lambda x: x):
"""efficient function to uniquify a list preserving item order"""
seen = {}
result = []
for item in list_:
if item in seen:
seenkey = key(item)
if seenkey in seen:
continue
seen[item] = 1
seen[seenkey] = 1
result.append(item)
return result