t = [1, 7, 8, 4, 12]
u = sorted(t); # ordre croissant; fonction

print(u, end = '\n\n')

t.sort(); # ordre croissant; procédure
print(t, end = '\n\n')

##
t = ['Ford','Alpha Romeo', 'Renault', 'BMW']
u = sorted(t); # ordre croissant

print(u, end = '\n\n')

t.sort(); print(t, end = '\n\n')

##
t = ['Ford','Alpha Romeo', 'Renault', 'bmw', 'alpha romeo'] # majuscules puis minuscules
u = sorted(t); u = sorted(t); # ordre croissant

print(u, end = '\n\n')

t.sort(); print(t, end = '\n\n')

##
t = [('Ford',15),('Renault',10),('Alpha Romeo',20), ('Ford',17), ('Renault',4), ('BMW',7), ('Ford',4)]
u = sorted(t); # ordre lexicographique croissant

print(u, end = '\n\n')

t.sort(); print(t, end = '\n\n')

##
t = [('Ford',15),('Renault',10),('Alpha Romeo',20), ('Ford',17), ('Renault',4), ('BMW',7), ('Ford',4)]
u = sorted(t, reverse = True); # ordre décroissant

print(u, end = '\n\n')

t.sort(reverse = True); print(t, end = '\n\n')

##
t = ['Ford','Alpha Romeo', 'Renault', 'BMW']
u = sorted(t, key = len); # ordre de la longueur

print(u, end = '\n\n')

t.sort(key = len); print(t, end = '\n\n')

##
def f(e):
    return e[1]

t = ['Ford','Alpha Romeo', 'Renault', 'BmW']
u = sorted(t, key = f); # ordre de la fonction f (ici le deuxième caractère)

print(u, end = '\n\n')

t.sort(key = f); print(t, end = '\n\n')

##
t = ['Ford','Alpha Romeo', 'Renault', 'BmW']
u = sorted(t, key = lambda e: e[1]); # ordre de la fonction t -> t[1] (ici le deuxième caractère)

print(u, end = '\n\n')

t.sort(key = lambda t: t[1]); print(t, end = '\n\n')

##Fin##
