I think the lambda keyword is difficult to understand for many people. It would be more pythonic to use an empty def call instead.

For instance this:

    words.sort(key = lambda x: x[2])

could look like this:
 
    words.sort(key = def (x): x[2])

It's obvious and explicit that we're creating an unnamed, anonymous function this way.