noms = ["richer", "dupond", "vazquez", "martin"] prenoms = ["sarah", "jean-michel", "karla", "emily"] # fonction qui retourne le champ sur lequel trier def trier_par_prenom(element): # Retourne le deuxième élément du tuple (le prénom) return element[1] # on trie uniquement sur le champ prenom print(sorted(zip(noms, prenoms), key=trier_par_prenom)) # on récupère les noms et prénoms triés grâce à zip(*...) n_t, p_t = zip(*sorted(zip(noms, prenoms), key=lambda x: x[1])) # affiche la liste des noms correspondant au tri précédent # sur les prénoms print(n_t) # affiche la liste des prénoms correspondant au tri précédent # sur les prénoms print(p_t)