Saltar al contenido principal

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: b

    pop modifica 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 del junto 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.

Error ValueError

Si 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.