duplicate items in a list
fredrik at pythonware.com
Mon Nov 21 12:26:59 CET 2005
Shi Mu wrote:
> I used the following method to remove duplicate items in a list and
> got confused by the error.
> >>> a
> [[1, 2], [1, 2], [2, 3]]
> >>> noDups=[ u for u in a if u not in locals()['_'] ]
> Traceback (most recent call last):
> File "<interactive input>", line 1, in ?
> TypeError: iterable argument required
by the way, assuming that it doesn't really matter whether the
resulting list contains lists or tuples, here's a simple oneliner-plus-
# this is only needed if you're using 2.3 or earlier
>>> from sets import Set as set
>>> hasDups = [[1, 2], [1, 2], [2, 3]]
>>> noDups = list(set(map(tuple, hasDups)))
[(1, 2), (2, 3)]
if you need an order-preserving implementation, see raymond's
example over at the cookbook.
More information about the Python-list