> I've a list with duplicate members and I need to make each entry > unique. > > I've come up with two ways of doing it and I'd like some input on what > would be considered more pythonic (or at least best practice). > > Method 1 (the traditional approach) > > for x in mylist: > if mylist.count(x) > 1: > mylist.remove(x) > > Method 2 (not so traditional) > > mylist = set(mylist) > mylist = list(mylist) > > Converting to a set drops all the duplicates and converting back to a > list, well, gets it back to a list which is what I want. > > I can't imagine one being much faster than the other except in the case > of a huge list and mine's going to typically have less than 1000 > elements. > > What do you think? > > Cheers, > > Robin >
Hi, Try this: def unique(s): e = {} for x in s: if not e.has_key(x): e[x] = 1 return e.keys() Regards Przemek -- http://mail.python.org/mailman/listinfo/python-list