On 24/06/2014 22:01, mark murphy wrote:
Hi Danny, Marc, Peter and Alex,

Thanks for the responses!  Very much appreciated.

I will take these pointers and see what I can pull together.

Thanks again to all of you for taking the time to help!

Cheers,
Mark


On Tue, Jun 24, 2014 at 4:39 PM, Danny Yoo <[email protected]
<mailto:[email protected]>> wrote:

    The sorting approach sounds reasonable.  We might even couple it with
    itertools.groupby() to get the consecutive grouping done for us.

    https://docs.python.org/2/library/itertools.html#itertools.groupby


    For example, the following demonstrates that there's a lot that the
    library will do for us that should apply directly to Mark's problem:

    #########################################
    import itertools
    import random

    def firstTwoLetters(s): return s[:2]

    grouped = itertools.groupby(
         sorted(open('/usr/share/dict/words')),
         key=firstTwoLetters)

    for k, g in grouped:
         print k, list(g)[:5]
    #########################################

In order to really overwhelm you see more_itertools.pairwise here http://pythonhosted.org//more-itertools/api.html as I've found it useful on several occasions.

--
My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language.

Mark Lawrence

---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com


_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to