Ordenar elementos con sort() y sorted() - Listas 8 - Curso de Python desde cero - Capítulo 17

Penúltimo capítulo del bloque dedicado a listas en Python.
En este capítulo aprenderás a ordenar elementos en tus listas en orden alfabético con el método sort().
Simplemente, pon el nombre de la lista seguido de un .sort() y esta se ordenará alfabeticamente en orden ascendente (a-z).

Código Python

colores = ['rojo', 'azul', 'verde', 'amarillo']
colores.sort()
print(colores)

terminal Resultado en la consola terminal

['amarillo', 'azul', 'rojo', 'verde']

Si lo prefieres en orden descendente (z-a), lo puedes hacer añadiendo un reverse=True dentro de los paréntesis del método sort().
¡Ojo! el True solo funciona si lo escribes con la letra T mayúscula.

Código Python

colores = ['rojo', 'azul', 'verde', 'amarillo']
colores.sort(reverse=True)
print(colores)

terminal Resultado en la consola terminal

['verde', 'rojo', 'azul', 'amarillo']

En teoría, esto puede parecer muy útil y lo es, pero es muy fácil cometer errores. Mira el siguiente ejemplo:

Código Python

colores = ['rojo', 'azul', 'verde', 'amarillo']
colores.sort(reverse=True)
print(colores[0])

terminal Resultado en la consola terminal

¿Por qué me está saliendo verde en la posición 0?
Esto ocurre, porque tenemos antes el ordenamiendo con sort(), pero claro, en mi código estoy viendo el orden anterior a esto. (Si no lo entiendes muy bien, mira el vídeo y seguro que lo entenderás mejor).
Todo esto indica que los cambios de sort() son permanentes. Si no quieres esto, puedes utilizar en un print otro método parecido, sorted()

verde

Código Python

¡Cuidado con los paréntesis, fíjate que sorted() lleva los suyos propios!
colores = ['rojo', 'azul', 'verde', 'amarillo']
print(sorted(colores))
print(colores)

terminal Resultado en la consola terminal

Por un lado, primero tenemos el print() "temporal" y después vemos, que el efecto de sorted() solo afecta a la propia línea.

['amarillo', 'azul', 'rojo', 'verde']
['rojo', 'azul', 'verde', 'amarillo']

Ejercicios de Python

  1. Ordena la siguiente lista en orden alfabético descendente (de la letra 'z' a la 'a').
  2. colores = ['rojo', 'azul', 'verde', 'amarillo', 'marrón',
              'lila', 'negro', 'rosa', 'blanco', 'naranja']

La solución la encontrarás aquí: Haz click aquí.


Suscríbete a mi canal de YouTube para apoyarme

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.


Comentarios

Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.