Ein Programmierbeispiel, mit dem eine Namensliste nach Nachname sortiert wird, aufsteigend und absteigend.
NAMES = ['sylvester Stallone', 'BOB BELDERBOS', 'julian sequeira', 'anna netrebko', 'keanu reeves',
'julbob pybites', 'bob belderbos', 'Julian Sequeira', 'james woods', 'ludmilla pavlichenko', 'MATT damon']
def dedup_and_title_case_names(names): """ Wandelt die Namen in der Liste in title-case um. """
return list({name.title() for name in names})
def sort_by_surname_desc(names): """ Gibt eine Liste zurück absteigend sortiert nach Nachname. """
names = dedup_and_title_case_names(names)
return sorted(names, key=lambda x: x.split()[-1], reverse=True)
def sort_by_surname_asc(names): """ Gibt eine Liste zurück aufsteigend sortiert nach Nachname. """
names = dedup_and_title_case_names_sol(names)
return sorted(names, key=lambda x: x.split()[-1])
print(dedup_and_title_case_names(NAMES)) print(sort_by_surname_asc(NAMES)) print(sort_by_surname_desc(NAMES))
Ausgabe:
[‚Anna Netrebko‘, ‚Ludmilla Pavlichenko‘, ‚Keanu Reeves‘, ‚Julian Sequeira‘, ‚Bob Belderbos‘, ‚Julbob Pybites‘, ‚James Woods‘, ‚Matt Damon‘, ‚Sylvester Stallone‘]
[‚Bob Belderbos‘, ‚Matt Damon‘, ‚Anna Netrebko‘, ‚Ludmilla Pavlichenko‘, ‚Julbob Pybites‘, ‚Keanu Reeves‘, ‚Julian Sequeira‘, ‚Sylvester Stallone‘, ‚James Woods‘]
[‚James Woods‘, ‚Sylvester Stallone‘, ‚Julian Sequeira‘, ‚Keanu Reeves‘, ‚Julbob Pybites‘, ‚Ludmilla Pavlichenko‘, ‚Anna Netrebko‘, ‚Matt Damon‘, ‚Bob Belderbos‘]