Operaciones con Listas en Python: Creación, Acceso, Modificación y Técnicas Avanzadas
Operaciones con Listas en Python
Las listas de Python son una de las estructuras de datos más versátiles del lenguaje, permitiendo almacenar, organizar y manipular secuencias de valores eficientemente. Esta guía cubre todo: desde crear y acceder a elementos hasta técnicas avanzadas como slicing, comprehensions y métodos integrados.
Video: Listas y Tuplas en Python
Las listas de Python permiten trabajar con múltiples elementos simultáneamente. Por ejemplo:
# una lista de lenguajes de programación
['Python', 'C++', 'JavaScript']
Crear Listas en Python
Una lista se crea colocando elementos entre corchetes [], separados por comas. Las listas pueden contener cualquier número de elementos y soportan tipos de datos mixtos.
# lista de enteros
my_list = [1, 2, 3]
Ejemplos:
# lista vacía
my_list = []
# tipos de datos mixtos
my_list = [1, "Hola", 3.4]
Una lista también puede contener otra lista, creando una estructura anidada.
# lista anidada
my_list = ["ratón", [8, 4, 6], ["a"]]
Acceder a Elementos de la Lista
Python ofrece varias formas de acceder a los elementos.
Indexación
Usa el operador []. Los índices comienzan en 0; acceder a un índice fuera de rango lanza IndexError, mientras que índices no enteros lanzan TypeError.
my_list = ['p', 'r', 'o', 'b', 'e']
print(my_list[0]) # p
print(my_list[2]) # o
print(my_list[4]) # e
n_list = ["Feliz", [2, 0, 1, 5]]
print(n_list[0][1]) # a
print(n_list[1][3]) # 5
print(my_list[4.0]) # TypeError
Salida
p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float
Indexación Negativa
Los índices negativos cuentan desde el final: -1 es el último elemento, -2 el penúltimo, etc.
my_list = ['p','r','o','b','e']
print(my_list[-1]) # e
print(my_list[-5]) # p
Salida
e p

Slicing de Listas
El slicing extrae un rango de elementos usando el operador dos puntos :. El índice inicial es inclusivo; el final es exclusivo.
my_list = ['p','r','o','g','r','a','m','i','z']
print(my_list[2:5]) # ['o', 'g', 'r']
print(my_list[5:]) # ['a', 'm', 'i', 'z']
print(my_list[:]) # lista completa
Salida
['o', 'g', 'r'] ['a', 'm', 'i', 'z'] ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']
Nota: El slicing devuelve una nueva lista; la original permanece inalterada.
Modificar Elementos de la Lista
Las listas son mutables. Puedes reemplazar elementos individuales o rebanadas.
odd = [2, 4, 6, 8]
odd[0] = 1
print(odd)
odd[1:4] = [3, 5, 7]
print(odd)
Salida
[1, 4, 6, 8] [1, 3, 5, 7]
Añade elementos con append() (uno solo) o extend() (múltiples). Usa + para concatenación y * para repetición.
odd = [1, 3, 5]
odd.append(7)
print(odd)
odd.extend([9, 11, 13])
print(odd)
print(odd + [9, 7, 5])
print(["re"] * 3)
Salida
[1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13] [1, 3, 5, 9, 7, 5] ['re', 're', 're']
Inserta elementos en un índice específico con insert() o asignando a una rebanada vacía.
odd = [1, 9]
odd.insert(1, 3)
print(odd)
odd[2:2] = [5, 7]
print(odd)
Salida
[1, 3, 9] [1, 3, 5, 7, 9]
Eliminar Elementos de la Lista
Usa del para eliminar elementos por índice o rebanada, o la lista completa. remove() borra la primera coincidencia de un valor, pop() elimina y devuelve un elemento por índice (o el último si no se da índice). clear() vacía la lista.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
# eliminar un elemento
del my_list[2]
print(my_list)
# eliminar múltiples elementos
del my_list[1:5]
print(my_list)
# eliminar la lista completa
del my_list
print(my_list) # NameError
Salida
['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined
Eliminación alternativa via asignación de rebanada:
>>> my_list = ['p','r','o','b','l','e','m']
>>> my_list[2:3] = []
>>> my_list
['p', 'r', 'b', 'l', 'e', 'm']
>>> my_list[2:5] = []
>>> my_list
['p', 'r', 'm']
Métodos Comunes de Lista
| Método | Descripción |
|---|---|
| append() | Añade un elemento al final |
| extend() | Añade todos los elementos de otro iterable |
| insert() | Inserta un elemento en un índice específico |
| remove() | Elimina la primera ocurrencia de un valor |
| pop() | Elimina y devuelve un elemento por índice (o el último) |
| clear() | Vacía la lista |
| index() | Devuelve el primer índice de un valor |
| count() | Cuenta ocurrencias de un valor |
| sort() | Ordena la lista ascendentemente |
| reverse() | Invierte el orden de la lista |
| copy() | Devuelve una copia superficial |
my_list = [3, 8, 1, 6, 8, 8, 4]
my_list.append('a')
print(my_list)
print(my_list.index(8)) # 1
print(my_list.count(8)) # 3
List Comprehension
Las list comprehensions proporcionan una forma concisa de generar listas.
pow2 = [2 ** x for x in range(10)]
print(pow2)
Salida
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
Equivale a:
pow2 = []
for x in range(10):
pow2.append(2 ** x)
Las comprehensions pueden incluir múltiples cláusulas for o un filtro if.
>>> pow2 = [2 ** x for x in range(10) if x > 5]
>>> pow2
[64, 128, 256, 512]
>>> odd = [x for x in range(20) if x % 2 == 1]
>>> odd
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y for x in ['Python ','C '] for y in ['Language','Programming']]
['Python Language', 'Python Programming', 'C Language', 'C Programming']
Explora más en la documentación oficial de Python.
Operaciones Adicionales con Listas
Prueba de Pertenencia
Verifica si un valor existe usando in o not in.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
print('p' in my_list) # True
print('a' in my_list) # False
print('c' not in my_list) # True
Salida
True False True
Iterar sobre una Lista
Usa un bucle for para procesar cada elemento.
for fruta in ['manzana','plátano','mango']:
print("Me gusta", fruta)
Salida
Me gusta manzana Me gusta plátano Me gusta mango
python
- Dominando tipos de datos en Python: Guía práctica
- Dominando operadores en Python: Guía completa
- Dominando la sentencia pass en Python: Guía práctica
- Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
- Dominar time.sleep() en Python: Mejores Prácticas, Multihilo y Ejemplos Reales
- Dominando Listas en Python: Append, Sort, Length y List Comprehensions (Guía Práctica)
- Calculando Promedios en Python: Guía Práctica con Múltiples Métodos
- Python list.count(): Guía Experta con Ejemplos Prácticos
- Cómo Eliminar Elementos Duplicados de una Lista en Python: 8 Métodos Efectivos
- Cómo Eliminar Ítems de una Lista en Python: remove(), pop(), clear() y del
- Python list.index(): Cómo Encontrar Posiciones de Elementos con Ejemplos Prácticos