From f8a6e2fc7c7729a3f7dbea5a91290ed3c5f5445f Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Fri, 2 Jan 2009 20:42:20 +0000 Subject: [PATCH] added key argument to unique function --HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40618 --- scrapy/trunk/scrapy/utils/python.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scrapy/trunk/scrapy/utils/python.py b/scrapy/trunk/scrapy/utils/python.py index 8272bacce..af3e4cdca 100644 --- a/scrapy/trunk/scrapy/utils/python.py +++ b/scrapy/trunk/scrapy/utils/python.py @@ -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