Operaciones con listas
Concatenación de listas
El operador + concatena listas:
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
print(c) # Imprime: [1, 2, 3, 4, 5, 6]
De igual manera, el operador * repite una lista un determinado número de veces:
[0] * 4 # [0, 0, 0, 0]
[1, 2, 3] * 3 # [1, 2, 3, 1, 2, 3, 1, 2, 3]
Comprobar si un valor está en la lista
El operador in también funciona en listas, y en este caso nos permite saber si un valor está en una lista:
quesos = ['Cheddar', 'Edam', 'Gouda']
'Edam' in quesos # Imprime: True
'Brie' in quesos # Imprime: False
Slicing
De igual manera que con las cadenas, se puede realizar slicing sobre listas.
Añadir nuevos elementos
El método append agrega un nuevo elemento al final de una lista:
t = ['a', 'b', 'c']
t.append('d')
print(t) # Imprime: ['a', 'b', 'c', 'd']
extend toma una lista como argumento y agrega todos los elementos:
t1 = ['a', 'b', 'c']
t2 = ['d', 'e']
t1.extend(t2)
print(t1) # Imprime: ['a', 'b', 'c', 'd', 'e']
Este ejemplo deja la lista t2 sin modificar.
También podemos usar el método insert. El primer parámetro indica la posición en la que se quiere añadir el elemento y el segundo parámetro es el elemento a añadir:
t1 = ['a', 'b', 'c']
t1.insert(1,"d")
print(t1) # Imprime: ['a', 'd', 'b', 'c']
Ordenar una lista
sort ordena los elementos de una lista de menor a mayor:
t = ['d', 'c', 'e', 'b', 'a']
t.sort()
print(t) # Imprime: ['a', 'b', 'c', 'd', 'e']
Eliminar elementos de una lista
Para eliminar elementos existen varias formas.
-
Si sabes el índice del elemento que quieres, puedes usar
pop:t = ['a', 'b', 'c']
x = t.pop(1)
print(t) # Imprime: ['a', 'c']
print(x) # Imprime: bpopmodifica la lista y devuelve el elemento que fue removido. Si no proves el índice, la función elimina y retorna el último elemento.Si no necesitas el valor removido, puedes usar el operador
del.t = ['a', 'b', 'c']
del t[1]
print(t) # Imprime: ['a', 'c'] -
Si sabes qué elemento quieres remover (pero no sabes el índice), puedes usar
remove:t = ['a', 'b', 'c']
t.remove('b')
print(t) # Imprime: ['a', 'c'] -
Para eliminar más de un elemento, puedes usar
deljunto al índice:t = ['a', 'b', 'c', 'd', 'e', 'f']
del t[1:5]
print(t) # Imprime: ['a', 'f'] -
También podemos eliminar todos los elementos de una lista con el método
clear:t = ['a', 'b', 'c', 'd', 'e', 'f']
t.clear()
print(t) # Imprime: []
Obtener el índice de un elemento
Para obtener el índice de un elemento en una lista en Python, puedes usar el método .index(). Este método devuelve el índice de la primera aparición del elemento en la lista. Aquí tienes un ejemplo:
lista = ['manzana', 'plátano', 'naranja', 'pera']
indice = lista.index('naranja')
print(indice)
En este ejemplo, el código imprimirá 2, que es el índice de la primera aparición de 'naranja' en la lista.
ValueErrorSi el elemento no está en la lista, el método .index() lanzará un error ValueError. Para evitar esto, puedes comprobar primero si el elemento está en la lista usando el operador in:
elemento = 'naranja'
if elemento in lista:
indice = lista.index(elemento)
print(f'El índice de {elemento} es {indice}')
else:
print(f'{elemento} no está en la lista')
Este código comprobará si el elemento está en la lista antes de intentar obtener el índice.