Cómo agregar elementos a una lista en Python (append, extend, insert, +)
Las listas en Python son mutables, ordenadas, permiten duplicados y cualquier tipo. Métodos principales para añadir items:
1. append(x) — Un elemento al final
frutas = ["manzana", "banana"]
frutas.append("cereza")
print(frutas) # ['manzana', 'banana', 'cereza']
# Si pasas una lista, la añade COMO UN SOLO ELEMENTO (anidada):
frutas.append(["uva", "kiwi"])
print(frutas) # ['manzana', 'banana', 'cereza', ['uva', 'kiwi']]
2. extend(iterable) — Múltiples elementos al final (desempaqueta)
frutas = ["manzana", "banana"]
frutas.extend(["uva", "kiwi"])
print(frutas) # ['manzana', 'banana', 'uva', 'kiwi']
# Funciona con cualquier iterable: tupla, set, range, generador, otra lista
frutas.extend(("mango", "papaya"))
frutas.extend({"pera", "higo"}) # orden aleatorio en set
3. insert(i, x) — En posición índice i
frutas = ["manzana", "banana", "cereza"]
frutas.insert(1, "kiwi") # índice 1 = segundo lugar
print(frutas) # ['manzana', 'kiwi', 'banana', 'cereza']
# Índice negativo: cuenta desde el final
frutas.insert(-1, "lima") # antes del último
print(frutas) # ['manzana', 'kiwi', 'banana', 'lima', 'cereza']
# Índice >= len → añade al final (como append)
frutas.insert(100, "melón")
4. Operador + / += — Concatenar (crea NUEVA lista / modifica in-place)
a = [1, 2]
b = [3, 4]
c = a + b # Nueva lista: [1, 2, 3, 4]. 'a' y 'b' inmutables.
a += [5, 6] # Modifica 'a' in-place (equivalente a a.extend([5, 6])).
print(a) # [1, 2, 5, 6]
5. list.insert() en bucle / comprensión (patrones)
# Insertar cada 2 elementos
base = [1, 2, 3, 4, 5]
for i in range(len(base)-1, 0, -2):
base.insert(i, 0)
print(base) # [1, 0, 2, 3, 0, 4, 5]
# Intercalar dos listas
a = [1, 3, 5]
b = [2, 4, 6]
intercalada = [x for par in zip(a, b) for x in par] # [1, 2, 3, 4, 5, 6]
6. collections.deque — Para inserciones eficientes en AMBOS extremos
from collections import deque
d = deque([1, 2, 3])
d.append(4) # derecha O(1)
d.appendleft(0) # izquierda O(1)
d.insert(2, 1.5) # medio O(n) igual que list
Resumen: cuál usar
| Método | Uso | Modifica original | Complejidad |
|---|---|---|---|
append(x) | 1 elemento al final | Sí | O(1) amortizado |
extend(iter) | Múltiples al final | Sí | O(k) k=len(iter) |
insert(i, x) | Posición exacta | Sí | O(n) |
+ | Concatenar (nueva lista) | No | O(n+m) |
+= | Concatenar in-place | Sí | O(k) |
Ejemplo completo interactivo
# lista_demo.py
lista = ["inicio"]
print("1.", lista)
lista.append("append")
print("2.", lista)
lista.extend(["extend1", "extend2"])
print("3.", lista)
lista.insert(1, "insert_idx1")
print("4.", lista)
lista += ["mas1", "mas2"]
print("5.", lista)
# Ejecutar: python lista_demo.py
- ·Cómo abrir un archivo en Python
- ·Cómo compilar código Python en un ejecutable para Windows
- ·Cómo crear y usar listas (arrays) en Python
- ·Cómo cambiar la numeración de un documento de Word
- ·Cómo compartir una lista de distribución de correo electrónico
- ·Cómo ejecutar un script de Python en Windows
- ·Cómo leer un archivo de texto en Python (guía básica con open y read)
- ·Cómo crear un archivo en Python
