Duplicates in lists
Jeff Pinyan
jeffp at crusoe.net
Fri Mar 10 07:38:14 EST 2000
[posted & mailed]
On Mar 10, Quinn Dunkan said:
>>> is there someone who has an efficient function that finds
>>> all duplicates in a list?
>def uniq(a):
> r = {}
> for i in a:
> r[i] = None
> return r.keys()
Your approach loses the order of the keys. If this is not acceptable, I
offer:
def ord_uniq(a):
r = {}
ret = []
for i in a:
if not r.has_key(i):
ret.append(i)
r[i] = 1
return ret
Or, using OrderedDict.py:
def ord_uniq(a):
r = OrderedDict.OrderedDict()
for i in a: r[i] = 1
return r.keys()
--
MIDN 4/C PINYAN, NROTCURPI, US Naval Reserve japhy at pobox.com
http://www.pobox.com/~japhy/ http://pinyaj.stu.rpi.edu/
PerlMonth - An Online Perl Magazine http://www.perlmonth.com/
The Perl Archive - Articles, Forums, etc. http://www.perlarchive.com/
More information about the Python-list
mailing list