On 18 Mar, 22:25, sturlamolden <[EMAIL PROTECTED]> wrote: > def nonunique(lst): > slst = sorted(lst) > return list(set([s[0] for s in > filter(lambda t : t[0] != t[1], zip(slst[:-1],slst[1:]))]))
Obviously that should be 'lambda t : t[0] == t[1]'. Instead of using the set function, there is more structure to exploit when the list is sorted: def nonunique(lst): slst = sorted(lst) dups = [s[0] for s in filter(lambda t : t[0] == t[1], zip(slst[:-1],slst[1:]))] return [dups[0]] + [s[1] for s in filter(lambda t : t[0] != t[1], zip(dups[:-1],dups[1:]))] -- http://mail.python.org/mailman/listinfo/python-list