On Mar 30, 2:19 am, Martin De Kauwe <mdeka...@gmail.com> wrote: > what is the character limit on a one liner :P. Very interesting > jesting apart, any more?
Sure, here are three one-liners using itertools.groupby() to emulate some Unix pipelines: sort letters | uniq # list unique values sort letters | uniq -c # count unique values sort letters | uniq -d # find duplicates >>> from itertools import groupby >>> [k for k, g in groupby(sorted('abracadabra'))] ['a', 'b', 'c', 'd', 'r'] >>> [(k, len(list(g))) for k, g in groupby(sorted('abracadabra'))] [('a', 5), ('b', 2), ('c', 1), ('d', 1), ('r', 2)] >>> [k for k, g in groupby(sorted('abracadabra')) if len(list(g)) > 1] ['a', 'b', 'r'] Raymond P.S. Of course, there are many ways to do this. >>> sorted(set('abracadabra')) ['a', 'b', 'c', 'd', 'r'] >>> sorted(Counter('abracadabra').items()) [('a', 5), ('b', 2), ('c', 1), ('d', 1), ('r', 2)] >>> sorted(k for k,c in Counter('abracadabra').items() if c > 1) ['a', 'b', 'r'] -- http://mail.python.org/mailman/listinfo/python-list