Code: Alles auswählen
import itertools
import pprint
class Movie(object):
def __init__(self, title, sortingtitle):
self.title = title
self.sortingtitle = sortingtitle
def __repr__(self):
return self.title
movies = [Movie("Terminator 2", "Terminator 2"),
Movie("Das Leben der Anderen", "Leben der Anderen, Das"),
Movie("Das Leben ist ein langer ruhiger Fluss", "Leben ist ein langer ruhiger Fluss"),
Movie("Der Vater der Braut", "Vater der Braut, Der")]
movies.sort(key=lambda m: m.sortingtitle)
grouped_movies = [(k, list(g)) for k, g in
itertools.groupby(movies, lambda x: x.sortingtitle[0].upper())]
pprint.pprint(grouped_movies)
# =>
# [('L', [Das Leben der Anderen, Das Leben ist ein langer ruhiger Fluss]),
# ('T', [Terminator 2]),
# ('V', [Der Vater der Braut])]