En llenguatge de programació Python, quina diferència hi ha en fer servir els mètodes sort() o sorted() per ordenar una llista?
La diferència principal entre aquests dos mètodes és que sort() no retorna res i modifica l'iterador, ordenant-lo. En contra, sorted() retorna l'iterador ordenat, sense modificar l'original.

Ho podem exemplificar:

a = [2,3,1]

print("Original:", a)
print("Ordenada amb sorted:", sorted(a))

print("Original:", a)
sort(a)
print("Ordenada amb sort:", a)

Cal mencionar que hi podem afegir els atributs reverse=True per a invertir l'ordre, així com l'atribut key per a proporcionar un criteri d'ordenació personalitzat:
    iterador.sort(key, reverse=True)
    sort(iterador, key, reverse=True)
El mètode sort() i la funció sorted() són ambdós utilitzats per ordenar llistes a Python, però hi ha una diferència important entre ells.

La funció sorted() retorna una nova llista que conté els elements de la llista original ordenats. Això significa que la llista original no es modifica i la nova llista ha de ser assignada a una variable si es vol guardar
Per contra, el mètode sort() modifica la llista original i no retorna res. Això significa que la llista original es modifica directament i no és necessari assignar-la a una variable.
A més a més, el mètode sort() no retorna res, de manera que no es pot assignar a una variable el resultat de la seva crida.

En resum, si vols modificar la llista original i no guardar una còpia ordenada, pots fer servir el mètode sort(). En cas contrari, pots fer servir la funció sorted().