Jou*_*nen 30

结合itertools.groupby起来operator.itemgetter获得一个非常好的解决方案:

from operator import itemgetter
from itertools import groupby

key = itemgetter('gender')
iter = groupby(sorted(people, key=key), key=key)

for gender, people in iter:
    print '===', gender, '==='
    for person in people:
        print person
Run Code Online (Sandbox Code Playgroud)