Return a list of unique items of a list
7
Very fast method for extracting all of the unique items from a list while preserving their original ordering.
###
Author: PeterB
URL: http://www.peterbe.com/plog/uniqifiers-benchmark
###
def f5(seq, idfun=None):
# order preserving
if idfun is None:
def idfun(x): return x
seen = {}
result = []
for item in seq:
marker = idfun(item)
# in old Python versions:
# if seen.has_key(marker)
# but in new ones:
if marker in seen: continue
seen[marker] = 1
result.append(item)
return result






The set constructor is much faster, and (even better!) you can do set operations (such as subtraction) on set objects.