# Creación de listas
= []
lista_vacia = [1, 2, 3, 4, 5]
lista_numeros = [1, "dos", 3.0, True] lista_mixta
5 Listas
Una lista en Python es una colección ordenada de elementos que puede contener elementos de diferentes tipos (enteros, flotantes, cadenas, etc.). Las listas son mutables, lo que significa que sus elementos se pueden cambiar después de que se ha creado la lista.
Para crear una lista utilizamos los corchetes []
- Verificamos el tipo usando
type
print(type(lista_mixta))
<class 'list'>
- Podemos utilizar la función
len
para saber cuántos elementos tiene una lista
print(
"La cantidad de elementos que existen 'lista_mixta' son: ",
len(lista_mixta)
)
La cantidad de elementos que existen 'lista_mixta' son: 4
- Podemos utilizar la
indexación
para acceder a los elementos específicos de la lista
# Acceder a elementos
print("Primer elemento:", lista_mixta[0])
print("Último elemento:", lista_mixta[-1])
Primer elemento: 1
Último elemento: True
- También podemos hacer
slicing
, obteniendo sublistas a partir de una lista existente, especificando un rango de índices:
print(lista_mixta[1:3])
['dos', 3.0]
5.1 Métodos para listas
append(item)
Añade un elemento item
al final de la lista.
= [1, 2, 3]
lista "a", "b", "c"])
lista.append([print(lista) # [1, 2, 3, 4]
[1, 2, 3, ['a', 'b', 'c']]
insert(index, item)
Inserta item en la posición index, desplazando el resto a la derecha.
= ['a', 'b', 'd']
lista 2, 'c')
lista.insert(print(lista) # ['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd']
remove(item)
Elimina la primera aparición de item en la lista. Lanza ValueError si no existe.
= [1, 2, 3, 2]
lista 2)
lista.remove(print(lista) # [1, 3, 2]
[1, 3, 2]
clear()
Elimina todos los elementos de la lista, dejándola vacía.
= [1, 2, 3]
lista
lista.clear()print(lista) # []
[]
count(item)
Cuenta cuántas veces aparece item en la lista.
= [1, 2, 2, 2, 3]
lista print("El valor 2 se repite ", lista.count(2), " veces en la lista") # 3
El valor 2 se repite 3 veces en la lista
sort(key=None, reverse=False)
Ordena la lista in place.
key
: función para extraer el valor de comparación.reverse=True
: orden descendente.
= [3, 1, 2]
lista
lista.sort()print(lista) # [1, 2, 3]
= ['b', 'aa', 'ccc']
lista =len, reverse=True)
lista.sort(keyprint(lista) # ['ccc', 'aa', 'b']
[1, 2, 3]
['ccc', 'aa', 'b']
reverse()
Invierte el orden de los elementos in place.
= [1, 2, 3]
lista
lista.reverse()print(lista) # [3, 2, 1]
[3, 2, 1]
5.2 Copiar una lista
Cuando asignamos una lista a una nueva variable, por ejemplo, B = A
, no estamos creando una copia independiente. Ambas variables apuntan al mismo espacio de memoria. Así, cualquier cambio en A se reflejará en B.
# Crear lista
= [1, 2, 3, 4, 5]
ls_a
# Copiar lista
= ls_a
ls_b
print("El id de la lista a es: ", id(ls_a))
print("El id de la lista b es: ", id(ls_b))
El id de la lista a es: 4421662272
El id de la lista b es: 4421662272
Como podemos ver, son iguales, pues apuntan la mismo lugar en memoria. Entonces, ¿cómo evitamos esto?
Uitlizando el método slicing
.
# Crear lista c
= ls_a[:]
ls_c
print("El id de la lista a es: ", id(ls_a))
print("El id de la lista b es: ", id(ls_c))
El id de la lista a es: 4421662272
El id de la lista b es: 4421663232
Como vemos, son ids diferentes.