On Mar 18, 2:57 am, Simon Forman <[EMAIL PROTECTED]> wrote: > Is there a more efficient way to do this? > > def f(L): > '''Return a set of the items that occur more than once in L.''' > L = list(L) > for item in set(L): > L.remove(item) > return set(L) > > |>> f([0, 0, 1, 1, 2, 2, 3]) > set([0, 1, 2])
def f(L): seen = set() dups = set() for e in L: if e in seen: dups.add(e) else: seen.add(e) return dups Raymond -- http://mail.python.org/mailman/listinfo/python-list