Contenido del Curso
Introducción a Python
Introducción a Python
Funciones Integradas
¿Y si te pidieran encontrar el número más grande de una lista? Con los conocimientos adquiridos, podrías escribir un loop para comprobar si el elemento actual es mayor/menor que el anterior mayor y actualizarlo; si no, continuarías. Pero para listas largas, este método puede consumir bastante tiempo. Afortunadamente, hay funciones integradas que pueden hacer esta tarea más eficiente. Aquí tienes unas cuantas:
min(x, y, ...)
- Devuelve el valor más pequeño entrex, y, ...
;max(x, y, ...)
- Devuelve el valor más grande entrex, y, ...
;abs(x)
- Da el valor absoluto dex
;round(x, n)
- Ronda el númerox
an
decimales;pow(x, n)
- Elevax
a la potencia den
.
Por ejemplo, supongamos que queremos calcular la densidad de población de un conjunto de países de la lista countries
. Para ello, dividiríamos la población por la superficie. Así es como se hace:
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = countries[i][2]/countries[i][1] print(countries[i][0], pop_dens, 'people per km²')
En el ejemplo anterior, nuestra lista tenía 5 sub-listas anidadas. Recorrimos la lista principal y verificamos si cada elemento era una lista. Si lo era, dividimos el tercer elemento (población) por el segundo (área).
Sin embargo, los resultados no eran muy fáciles de leer, ya que tenían más de 10 decimales. Para hacerlos más legibles, podemos usar la función round()
para reducirlos a solo 2 decimales. Recuerda, esta función toma dos argumentos: el primero es el número que quieres redondear, y el segundo especifica cuántos decimales quieres mantener.
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = round(countries[i][2]/countries[i][1], 2) print(countries[i][0], pop_dens, 'people per km²')
Como puede ver, el resultado revisado es mucho más claro y fácil de entender.
¡Gracias por tus comentarios!