¿Qué es una lista de Python?
Una lista es exactamente lo que parece, un contenedor que contiene diferentes objetos de Python, que pueden ser números enteros, palabras, valores, etc. Es el equivalente a una matriz en otros lenguajes de programación. Está representado por corchetes (y este es uno de los atributos que lo diferencia de las tuplas, que están separadas por paréntesis). También es mutable, es decir, se puede modificar o actualizar; a diferencia de las tuplas, que son inmutables.
En este tutorial de Python, aprenderá:
- ¿Qué es una lista de Python?
- Ejemplos de listas de Python:
- Accediendo a valores dentro de listas
- Rebanar lista
- Actualizando listas
- Eliminar elementos de la lista
- Agregar elementos de la lista
- Lista de funciones integradas (métodos)
- Recorrer listas
- Lista de comprensiones
Ejemplos de listas de Python:
Las listas de Python pueden ser homogéneas, lo que significa que pueden contener el mismo tipo de objetos; o heterogéneo, incluyendo diferentes tipos de objetos.
Ejemplos de listas homogéneas incluyen:
list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Ejemplos de listas heterogéneas incluyen:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Accediendo a valores dentro de listas
Para acceder a los valores dentro de las listas, se puede utilizar el índice de los objetos dentro de las listas. Un índice en las listas de Python se refiere a la posición de un elemento dentro de una lista ordenada. Por ejemplo:
list = [3, 22, 30, 5.3, 20]
- El primer valor de la lista anterior, 3, tiene un índice de 0
- El segundo valor, 22, tiene un índice de 1
- El tercer valor, 30, tiene un índice de 2
etcétera. Para acceder a cada uno de los valores de la lista, usaría:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
También se puede acceder al último miembro de una lista mediante el índice -1. Por ejemplo,
list[-1] = 20
Rebanar lista
La división de listas es el método de dividir un subconjunto de una lista, y los índices de los objetos de la lista también se utilizan para esto. Por ejemplo, usando el mismo ejemplo de lista anterior;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Las listas de Python son exclusivas de límite superior, y esto significa que el último índice durante el corte de la lista generalmente se ignora. Es por eso que
list[2:-1] = [30, 5.3]y no [30, 5.3, 20]. Lo mismo ocurre con todos los demás ejemplos de división de listas dados anteriormente.
Actualizando listas
Supongamos que tiene una lista = [física, química, matemáticas] y desea cambiar la lista a [biología, química, matemáticas], cambiando efectivamente el miembro en el índice 0. Eso se puede hacer fácilmente asignando ese índice al nuevo miembro que desee.
Eso es,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Resultado: [biología, química, matemáticas]
Esto reemplaza el miembro en el índice 0 (física) con el nuevo valor que desea (química). Esto se puede hacer para cualquier miembro o subconjunto de la lista que desee cambiar.
Para dar otro ejemplo; digamos que tiene una lista llamada números enteros y que contiene los números [2, 5, 9, 20, 27]. Para reemplazar 5 en esa lista con 10, puede hacerlo con:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Para reemplazar el último miembro de la lista de enteros, que es 27, con un número libre como 30.5, usaría:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Eliminar elementos de la lista
Hay 3 métodos de Python para eliminar elementos de la lista: list.remove (), list.pop () y del operator. El método Remove toma el elemento particular que se eliminará como argumento, mientras que pop y del toman el índice del elemento que se eliminará como argumento. Por ejemplo:
lista = [3, 5, 7, 8, 9, 20]
Para eliminar 3 (el primer elemento) de la lista, puede usar:
- list.remove (3) o
- list.pop [0], o
- del list [0]
Para eliminar 8, el elemento en el índice 3, de la lista, puede usar:
- list.remove (8), o
- list.pop [3]
Agregar elementos de la lista
Para agregar elementos a una lista, se usa el método de agregar, y esto agrega el elemento al final de la lista.
Por ejemplo:
list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Lista de funciones integradas (métodos)
La siguiente es una lista de funciones y métodos integrados con sus descripciones:
- len (lista): da la longitud de la lista como salida. Por ejemplo:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (lista): devuelve el elemento de la lista con el valor máximo. Por ejemplo:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (lista): devuelve el elemento de la lista con el valor mínimo. Por ejemplo:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- lista (tupla): convierte un objeto de tupla en una lista. Por ejemplo;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): agrega el elemento a la lista. Por ejemplo;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (índice): elimina el elemento en el índice especificado de la lista. Por ejemplo;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): elimina el elemento de la lista. Por ejemplo;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): invierte los objetos de la lista. Por ejemplo;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (elemento): para obtener el valor de índice de un elemento dentro de la lista. Por ejemplo;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- sum (lista): para obtener la suma de todos los valores de la lista, si los valores son todos números (enteros o decimales). Por ejemplo;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Si la lista contiene algún elemento que no sea un número, como una cadena, el método de suma no funcionaría. Obtendría un error que diga: " TypeError : tipos de operandos no admitidos para +: 'int' y 'str'"
- list.sort (): para organizar una lista de enteros, números de coma flotante o cadenas, en orden ascendente o descendente. Por ejemplo:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Otro ejemplo:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
También se puede ordenar una lista de cadenas, ya sea alfabéticamente o por longitud de las cadenas. Por ejemplo;
# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']
Podemos ordenar la misma lista alfabéticamente usando 'strings.
Recorrer listas
Se puede recorrer las listas de la misma manera que con cualquier otra función de bucle en Python. De esta forma, un método se puede realizar en varios elementos de una lista al mismo tiempo. Por ejemplo:
lista = [10, 20, 30, 40, 50, 60, 70].
Para recorrer todos los elementos de esta lista, digamos, agregue 10 a cada elemento:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Para recorrer los tres primeros elementos de la lista y eliminarlos todos;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Para recorrer el 3 er (índice 2) hasta el último elemento de la lista y agregarlos a una nueva lista llamada new_list:
new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]
De esta manera, se puede aplicar cualquier método o función a los miembros de una lista para realizar una operación en particular. Puede recorrer todos los miembros de la lista o recorrer un subconjunto de la lista utilizando la división de listas.
Lista de comprensiones
Las listas por comprensión son funciones de Python que se utilizan para crear nuevas secuencias (como listas, diccionarios, etc.) utilizando secuencias que ya se han creado. Ayudan a reducir los bucles más largos y hacen que su código sea más fácil de leer y mantener.
Por ejemplo; digamos que desea crear una lista que contenga los cuadrados de todos los números del 1 al 9:
list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Para hacer lo mismo con las listas por comprensión:
list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Como se vio anteriormente, escribir el código usando listas por comprensión es mucho más corto que usar los bucles for tradicionales, y también es más rápido. Este es solo un ejemplo del uso de listas por comprensión en lugar de bucles for, pero se puede replicar y usar en muchos lugares donde también se pueden usar bucles for. A veces, ir con un bucle for es la mejor opción, especialmente si el código es complejo, pero en muchos casos, las listas por comprensión harán que su codificación sea más fácil y rápida.
A continuación se muestra una tabla que contiene algunas funciones y métodos de lista, y sus descripciones.
Funciones integradas
FUNCIÓN | DESCRIPCIÓN |
Redondo() | Redondea el número pasado como argumento a un número específico de dígitos y devuelve el valor de punto flotante. |
Min () | devolver el elemento mínimo de una lista dada |
Max () | devolver el elemento máximo de una lista dada |
len () | Devuelve la longitud de la lista. |
Enumerar() | Esta función incorporada genera tanto los valores como los índices de los elementos en un iterable, por lo que no necesitamos contar manualmente |
Filtrar() | prueba si cada elemento de una lista es verdadero o no |
Lambda | Una expresión que puede aparecer en lugares donde una def (para crear funciones) no es sintáctica, dentro de un literal de lista o los argumentos de llamada de una función |
Mapa() | devuelve una lista de los resultados después de aplicar la función dada a cada elemento de un iterable dado |
Acumular() | aplicar una función particular pasada en su argumento a todos los elementos de la lista devuelve una lista que contiene los resultados intermedios |
Suma() | Devuelve la suma de todos los números de la lista. |
Cmp () | Se utiliza para comparar dos listas y devuelve 1 si la primera lista es mayor que la segunda. |
Insertar | Insertar elemento para listar en una posición particular |
Métodos de lista
FUNCIÓN | DESCRIPCIÓN |
Adjuntar() | Agrega un nuevo elemento al final de la lista. |
Claro() | Elimina todos los elementos de la lista. |
Dupdo() | Devuelve una copia de la lista original. |
Ampliar() | Agregue muchos elementos al final de la lista |
Contar() | Devuelve el número de apariciones de un elemento en particular en una lista. |
Índice() | Devuelve el índice de un elemento específico de una lista. |
Música pop() | Elimina el elemento de la lista en un índice particular (eliminar por posición) |
Eliminar() | Elimina el elemento especificado de la lista (eliminar por valor) |
Marcha atrás() | Método de inversión in situ que invierte el orden de los elementos de la lista |
Resumen
- Una lista es exactamente lo que parece, un contenedor que contiene diferentes objetos de Python, que pueden ser números enteros, palabras, valores, etc.
- Las listas de Python pueden ser homogéneas, lo que significa que pueden contener el mismo tipo de objetos; o heterogéneo, que contiene diferentes tipos de objetos.
- Para acceder a los valores dentro de las listas, se puede utilizar el índice de los objetos dentro de las listas.
- La división de listas es el método de dividir un subconjunto de una lista, y los índices de los objetos de la lista también se utilizan para esto.
- Tres métodos para eliminar elementos de la lista son: 1) list.remove (), 2) list.pop () y 3) del operador
- El método Append se utiliza para agregar elementos. Esto agrega el elemento al final de la lista.
- El método de bucle del programa Python se puede realizar en varios elementos de una lista de datos al mismo tiempo.
- Las listas por comprensión son funciones de Python que se utilizan para crear nuevas secuencias (como listas, diccionarios, etc.) utilizando secuencias que ya se han creado.