Libro Python Aplicado de Eugenia Bahit. GNU/Linux, ciencia de datos, y desarrollo web

Banner de Python Aplicado

Manipulación de listas y tuplas


Cita con formato IEEE:
E. Bahit, "Manipulación de listas y tuplas", in Python Aplicado, 4th ed., EBRC Publisher, 2022, pp. 77–81.

Cita con formato APA 7:
Bahit, E. (2022). Manipulación de listas y tuplas. In Python Aplicado (4th ed., pp. 77–81). EBRC Publisher.

Cita en línea:
(Bahit, 2022)

En este capítulo, se verán los métodos que posee el objeto lista. Algunos de ellos, también se encuentran disponibles para las tuplas.

Métodos de agregado

Agregar un elemento al final de la lista

Método: append("nuevo elemento")

>>> nombres_masculinos = ["Alvaro", "Jacinto", "Miguel", "Edgardo", "David"] 
>>> nombres_masculinos.append("Jose") 
>>> nombres_masculinos
['Alvaro', 'David', 'Edgardo', 'Jacinto', 'Jose', 'Ricky', 'Jose'] 

Agregar varios elementos al final de la lista

Método: extend(otra_lista)

>>> nombres_masculinos.extend(["Jose", "Gerardo"]) 
>>> nombres_masculinos 
['Alvaro', 'David', 'Edgardo', 'Jacinto', 'Jose', 'Ricky', 'Jose', 'Jose', 'Gerardo'] 

Agregar un elemento en una posición determinada

Método: insert(posición, "nuevo elemento")

>>> nombres_masculinos.insert(0, "Ricky") 
>>> nombres_masculinos 
['Ricky', 'Alvaro', 'David', 'Edgardo', 'Jacinto', 'Jose', 'Ricky', 'Jose', 'Jose', 'Gerardo'] 

Métodos de eliminación

Eliminar el último elemento de la lista

Método: pop()

Retorna: el elemento eliminado

>>> nombres_masculinos.pop() 
'Gerardo' 
>>> nombres_masculinos 
['Ricky', 'Alvaro', 'David', 'Edgardo', 'Jacinto', 'Jose', 'Ricky', 'Jose', 'Jose']

Eliminar un elemento por su índice

Método: pop(índice)

Retorna: el elemento eliminado

>>> nombres_masculinos.pop(3) 
'Edgardo' 

>>> nombres_masculinos 
['Ricky', 'Alvaro', 'David', 'Jacinto', 'Jose', 'Ricky', 'Jose', 'Jose'] 

Eliminar un elemento por su valor

Método: remove("valor")

>>> nombres_masculinos.remove("Jose") 
>>> nombres_masculinos 
['Ricky', 'Alvaro', 'David', 'Jacinto', 'Ricky', 'Jose', 'Jose'] 

Métodos de orden

Ordenar una lista en reversa (invertir orden)

Método: reverse()

>>> nombres_masculinos.reverse() 
>>> nombres_masculinos 
['Jose', 'Jose', 'Ricky', 'Jacinto', 'David', 'Alvaro', 'Ricky'] 

Ordenar una lista en forma ascendente

Método: sort()

>>> nombres_masculinos.sort() 
>>> nombres_masculinos 
['Alvaro', 'David', 'Jacinto', 'Jose', 'Jose', 'Ricky', 'Ricky'] 

Ordenar una lista en forma descendente

Método: sort(reverse=True)

>>> nombres_masculinos.sort(reverse=True) 
>>> nombres_masculinos 
['Ricky', 'Ricky', 'Jose', 'Jose', 'Jacinto', 'David', 'Alvaro'] 

Métodos de búsqueda

Contar cantidad de apariciones elementos

Método: count(elemento)

>>> nombres_masculinos = ["Alvaro", "Miguel", "Edgardo", "David", "Miguel"] 
>>> nombres_masculinos.count("Miguel") 
2 

>>> nombres_masculinos = ("Alvaro", "Miguel", "Edgardo", "David", "Miguel") 
>>> nombres_masculinos.count("Miguel") 
2 

Obtener número de índice

Método: index(elemento[, indice_inicio, indice_fin])

>>> nombres_masculinos.index("Miguel") 
1 

>>> nombres_masculinos.index("Miguel", 2, 5) 
4 

Anexo sobre listas y tuplas

Conversión de tipos

En el conjunto de las funciones integradas de Python, es posible encontrar dos funciones que permiten convertir listas en tuplas, y viceversa. Estas funciones son list y tuple, para convertir tuplas a listas y listas a tuplas, respectivamente.

Uno de los usos más frecuentes es el de conversión de tuplas a listas, que requieran ser modificadas. Esto sucede a menudo con los resultados obtenidos a partir de una consulta a base de datos.

>>> tupla = (1, 2, 3, 4) 
>>> tupla 
(1, 2, 3, 4) 

>>> list(tupla) 
[1, 2, 3, 4] 

>>> lista = [1, 2, 3, 4] 
>>> lista 
[1, 2, 3, 4] 

>>> tuple(lista) 
(1, 2, 3, 4) 

Concatenación de colecciones

Se pueden concatenar (o unir) dos o más listas o dos o más tuplas, mediante el signo de adición +.

No puede unirse una lista a una tupla. Las colecciones a unir deben ser del mismo tipo.

>>> lista1 = [1, 2, 3, 4] 
>>> lista2 = [3, 4, 5, 6, 7, 8] 
>>> lista3 = lista1 + lista2 
>>> lista3 
[1, 2, 3, 4, 3, 4, 5, 6, 7, 8] 

>>> tupla1 = (1, 2, 3, 4, 5) 
>>> tupla2 = (4, 6, 8, 10) 
>>> tupla3 = (3, 5, 7, 9) 
>>> tupla4 = tupla1 + tupla2 + tupla3 
>>> tupla4 
(1, 2, 3, 4, 5, 4, 6, 8, 10, 3, 5, 7, 9) 

Valor máximo y mínimo

Se puede obtener el valor máximo y mínimo tanto de listas como de tuplas:

>>> max(tupla4) 
10 
>>> max(tupla1) 
5 
>>> min(tupla1) 
1 
>>> max(lista3) 
8 
>>> min(lista1) 
1 

Contar elementos

La función len() sirve tanto para contar elementos de una lista o tupla, como caracteres de una cadena de texto:

>>> len(lista3) 
10 
>>> len(lista1) 
4