Curso
En Python, puedes utilizar una función de lista que crea una colección que se puede manipular para tu análisis. Esta recopilación de datos se denomina objeto lista.
Aunque todos los métodos son funciones en Python, no todas las funciones son métodos. Hay una diferencia clave entre las funciones y los métodos en Python. Las funciones toman objetos como entradas. Los métodos, por el contrario, actúan sobre objetos.
Python ofrece las siguientes funciones de lista:
- sort(): Ordena la lista en orden ascendente.
- tipo(lista): Devuelve el tipo de clase de un objeto.
- append(): Añade un único elemento a una lista.
- extend(): Añade varios elementos a una lista.
- index(): Devuelve la primera aparición del valor especificado.
- máximo(lista): Devuelve un elemento de la lista con el valor máximo.
- min(lista): Devuelve un elemento de la lista con el valor mínimo.
- len(lista): Indica la longitud total de la lista.
- lista(seq): Convierte una tupla en una lista.
- cmp(lista1, lista2): Compara elementos de ambas listas, lista1 y lista2.
- filter(fun,list): filtra la lista utilizando la función Python.
- Funciones y métodos de listas en Python
Método de ordenación de listas en Python
El método sort() es un método integrado en Python que, por defecto, ordena la lista en orden ascendente. Sin embargo, puedes modificar el orden de ascendente a descendente especificando los criterios de clasificación.
Ejemplo
Supongamos que quieres ordenar el elemento «precios» en orden ascendente. Tú escribirías los precios seguidos de un punto (.) y del nombre del método, es decir, sort, incluyendo los paréntesis.
prices = [238.11, 237.81, 238.91]
prices.sort()
print(prices)
# [237.81, 238.11, 238.91]
Función type() del tipo lista en Python
La función type() devuelve el tipo de clase de un objeto.
Ejemplo
Aquí veremos qué tipo son tanto fam como fam2:
fam = ["liz", 1.73, "emma", 1.68, "mom", 1.71, "dad", 1.89]
print(fam)
# ['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89]
Veamos cuál es el tipo del objeto:
fam = ["liz", 1.73, "emma", 1.68, "mom", 1.71, "dad", 1.89]
print(type(fam))
# <class 'list'>
Ahora, veamos fam2.
fam2 = [["liz", 1.73],
["emma", 1.68],
["mom", 1.71],
["dad", 1.89]]
print(fam2)
# [['liz', 1.73], ['emma', 1.68], ['mom', 1.71], ['dad', 1.89]]
Veamos cuál es el tipo del objeto:
fam2 = [["liz", 1.73],
["emma", 1.68],
["mom", 1.71],
["dad", 1.89]]
print(type(fam2))
# <class 'list'>
Estas llamadas muestran que tanto fam como fam2 son, de hecho, listas.
Método append de la lista Python
El método append() añadirá el contenido que introduzcas al final de los elementos que selecciones.
Ejemplo
En este ejemplo, vamos a ampliar la cadena añadiendo «April» a la lista con el método append(). El uso de append() aumentará la longitud de la lista en 1.
months = ['January', 'February', 'March']
months.append('April')
print(months)
# ['January', 'February', 'March', 'April']
Método extend de listas en Python
El método extend() aumenta la longitud de la lista con el número de elementos que se proporcionan al método, por lo que si deseas añadir varios elementos a la lista, puedes utilizar este método.
Ejemplo
x = [1, 2, 3]
x.extend([4, 5])
print(x)
# [1, 2, 3, 4, 5]
Método de índice de lista de Python
El método index() devuelve la primera aparición del valor especificado.
Ejemplo
En el siguiente ejemplo, veamos el índice de febrero en la lista de meses.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
print(months.index('February'))
# 1
Este método ayuda a identificar que febrero se encuentra en el índice 1. Ahora podemos acceder al precio correspondiente al mes de febrero utilizando este índice.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
print(prices[1])
# 237.81
Función max de la lista Python
La función max() devolverá el valor más alto de los valores introducidos.
Ejemplo
En este ejemplo, utilizaremos la función max() para encontrar el precio máximo en la lista denominada price.
# Find the maximum price in the list price
prices = [159.54, 37.13, 71.17]
price_max = max(prices)
print(price_max)
# 159.54
Función min de la lista Python
La función min() devolverá el valor más bajo de los valores introducidos.
Ejemplo
En este ejemplo, encontrarás el mes con el índice de precios al consumidor (IPC) más bajo.
Para identificar el mes con el índice de precios al consumo más bajo, primero se aplica la función min() a los precios para identificar el min_price. A continuación, puedes utilizar el método index para encontrar la ubicación del índice de min_price. Utilizando esta ubicación indexada por meses, puedes identificar el mes con el índice de precios al consumo más bajo.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
# Identify min price
min_price = min(prices)
# Identify min price index
min_index = prices.index(min_price)
# Identify the month with min price
min_month = months[min_index]
print(min_month)
# February
Función len de la lista Python
La función len() muestra el número de elementos de una lista. En el siguiente ejemplo, volveremos a examinar los datos sobre el precio de las acciones utilizando números enteros.
Ejemplo
stock_price_1 = [50.23]
stock_price_2 = [75.14, 85.64, 11.28]
print('stock_price_1 length is', len(stock_price_1))
print('stock_price_2 length is', len(stock_price_2))
# stock_price_1 length is 1
# stock_price_2 length is 3
Función list() de Python
La función list() toma una construcción iterable y la convierte en una lista.
Syntax
list([iterable])
Ejemplo
En el siguiente ejemplo, trabajarás con datos sobre el precio de las acciones. Imprimamos una lista vacía, convirtamos una tupla en una lista y, por último, imprimamos una lista como lista.
# empty list
print(list())
# tuple of stock prices
stocks = ('238.11', '237.81', '238.91')
print(list(stocks))
# list of stock prices
stocks_1 = ['238.11', '237.81', '238.91']
print(list(stocks_1))
# []
# ['238.11', '237.81', '238.91']
# ['238.11', '237.81', '238.91']
Función cmp de Python
La función cmp() toma dos valores y los compara entre sí. A continuación, devolverá un valor negativo, cero o positivo en función de lo que se haya introducido.
Ejemplo
En el ejemplo siguiente, tenemos dos precios de acciones y compararemos los valores enteros para ver cuál es mayor:
stock_price_1 = [50.23]
stock_price_2 = [75.14]
print(cmp(stock_price_1, stock_price_2))
print(cmp(stock_price_1, stock_price_1))
print(cmp(stock_price_2, stock_price_1))
# -1
# 0
# 1
Los resultados muestran que la lista stock_price_2 es más grande que la lista stock_price_1. Puedes utilizar la función cmp() en cualquier tipo de lista, como cadenas de caracteres. Ten en cuenta que, por defecto, si una lista es más larga que la otra, se considerará que es más grande.
Función de lista de filtros de Python
Para la función filter(), toma una función y las listas y devuelve un iterador de elementos filtrados. Puedes crear una función de filtro Python o utilizar una función lambda para obtener una lista filtrada.
Nota: también puedes utilizar bucles, comprensión de listas y coincidencia de patrones de cadenas para obtener una lista filtrada.
Ejemplo
En primer lugar, crearemos una función de filtro que devolverá valores booleanos. Consistirá en funciones lógicas simples. En nuestro caso, filtraremos los precios de los artículos superiores a 350. A continuación, utilizaremos filter() para aplicar la función a la lista item_price y obtener un iterador de elementos filtrados.
Para acceder a los elementos filtrados, podemos extraer el valor utilizando un bucle «for» o convertir un iterador en listas.
def filter_price(price):
if (price > 350):
return True
else:
return False
item_price = [230, 400, 450, 350, 370]
# applying filter function
filtered_price = filter(filter_price, item_price)
print(list(filtered_price))
# [400, 450, 370]
También puedes convertir tu código en una sola línea utilizando la función lambda y obtener elementos filtrados.
item_price = [230, 400, 450, 350, 370]
# lambda function with filter()
filtered_price = filter(lambda a: a > 350, item_price)
print(list(filtered_price))
# [400, 450, 370]
Para obtener más información sobre los métodos y funciones de listas, ve este vídeo de nuestro curso Introducción a Python para finanzas.
Este contenido está tomado del curso Introducción a Python para finanzas de DataCamp, impartido por Adina Howe.
Preguntas frecuentes sobre funciones y métodos de listas en Python
¿Qué es una lista en Python?
Una de las principales estructuras de datos integradas en Python es el almacenamiento de cualquier número de elementos. Las principales características de las listas de Python son que son iterables, ordenadas, indexadas, mutables y permiten valores duplicados.
¿Cómo hacer una lista en Python?
Coloca una secuencia de elementos entre corchetes y sepáralos con comas, por ejemplo, [«pastel», «helado», «donut»]. Como alternativa, utiliza la función integrada list() con corchetes dobles: list(('pastel', 'helado', 'donut')). Para crear una lista vacía, utiliza corchetes vacíos ([]) o la función list() sin pasar ningún argumento (list()). Por lo general, una lista de Python se asigna a una variable para su uso posterior.
¿Para qué se utiliza una lista de Python?
Cuando necesitamos mantener juntos varios elementos relacionados colocados en un orden definido, posiblemente de tipos de datos heterogéneos y/o con duplicados. A continuación, queremos poder modificar esos elementos, añadir o eliminar elementos y aplicar las mismas operaciones a varios valores a la vez.
¿Qué tipo de objetos puede contener una lista de Python?
Cualquier tipo de objeto Python, tanto primitivo (enteros, flotantes, cadenas, booleanos) como complejo (otras listas, tuplas, diccionarios, etc.). Puede haber diferentes tipos de datos en una lista de Python, por ejemplo, [«pastel», 1, 3,14, [0, 2]], lo que hace que esta estructura de datos sea muy flexible.
¿Las listas de Python están ordenadas?
Sí. Los elementos de una lista Python tienen un orden fijo, lo que hace que esta estructura de datos también esté indexada. Cada elemento de una lista de Python tiene un índice que corresponde a su posición en la lista, comenzando por 0 para el primer elemento. El último elemento de una lista de Python tiene el índice N-1, donde N es el número de elementos de la lista.
¿Es mutable una lista de Python?
Sí. Los valores de los elementos de una lista de Python se pueden modificar después de crear la lista, sin necesidad de reasignar la lista a una variable. Los elementos también se pueden añadir o eliminar, lo que da lugar a un cambio dinámico en el tamaño de la lista.
¿Una lista de Python permite valores duplicados?
Sí. Dado que estas estructuras de datos están ordenadas e indexadas, una lista de Python puede contener cualquier número de elementos repetidos.
¿Cuál es la diferencia entre append() y extend() en Python?
Mientras que el método append() permite añadir un único elemento al final de una lista de Python, el método extend() permite añadir varios elementos. En el primer caso, la longitud de una lista se incrementa en 1; en el segundo, la longitud se incrementa en el número de elementos añadidos.
