Algunas de las colecciones de datos más usadas en Python son: List, Tuple, Set y Dict. Hoy veremos la colección List, cómo crearla y modificar sus elementos.
Listas en Python
Una lista en Python sirve para guardar varios elementos en una sola variable. Es una colección ordenada y modificable que permite duplicados. A la hora de declararla podemos utilizar los corchetes “[]” o el constructor list().
cars = ["BMW", "Audi", "Opel"] numbers = list(('1','5','8','10','15'))
Acceder a una lista en Python
Accedemos a cada uno de los elementos de la lista mediante un índice. El primer elemento tiene el índice 0, el segundo el índice 1, etc.
print(cars[0]) # BMW
Si especificamos un rango de índices obtenemos una sublista.
print(cars[1:3]) # ['Audi', 'Opel']
Para saber si la lista contiene un elemento determinado utilizamos la condición: if “item” in list:
if "Audi" in cars: print("cars contains Audi.") # cars contains Audi.
Para obtener el número de elementos que contiene una lista usamos la función len().
cars = ["BMW", "Audi", "Opel"] print(len(cars)) # 3
Modificar una lista en Python
También podemos cambiar el valor de un elemento haciendo referencia a su índice.
cars = ["BMW", "Audi", "Opel"] cars[0] = "Volvo" print(cars) # ['Volvo', 'Audi', 'Opel']
A la hora de añadir un nuevo elemento a la lista tenemos los métodos append() e insert(). El primero lo añade al final de la colección, mientras el segundo permite seleccionar la ubicación.
cars = ["Volvo", "Audi", "Opel"] cars.append("Ford") print(cars) # ['Volvo', 'Audi', 'Opel', 'Ford'] cars.insert(1, "Toyota") print(cars) # ['Volvo', 'Toyota', 'Audi', 'Opel', 'Ford']
Podemos extender una lista con los elementos de otra colección mediante el método extend().
cars = ["Volvo", "Audi", "Opel"] cars2 = ["Ford", "Toyota"] cars.extend(cars2) print(cars) # ['Volvo', 'Audi', 'Opel', 'Ford', 'Toyota']
Eliminar elementos de la lista
Tenemos los métodos pop() y remove(). Ambos permiten eliminar elementos de una lista; pop() acepta como parámetro un índice y remove() acepta un valor.
cars = ["Volvo", "Audi", "Opel", "Ford", "Toyota"] cars.pop(0) print(cars) # ['Audi', 'Opel', 'Ford', 'Toyota'] cars.remove("Opel") print(cars) # ['Audi', 'Ford', 'Toyota']
El método clear() vacía la lista y del la elimina por completo.
cars = ["Volvo", "Audi", "Opel", "Ford", "Toyota"] cars.clear() print(cars) # [] del cars print(cars) # NameError: name 'cars' is not defined
Iterar sobre una lista con el bucle for
Puedes imprimir cada uno de los elementos de una lista mediante un bucle for.
cars = ["Volvo", "Audi", "Opel", "Ford"] for car in cars: print(car) ''' Volvo Audi Opel Ford '''
Copia de listas personalizada
Python ofrece una sintaxis concisa a la hora de copiar elementos de una lista a otra. En el siguiente ejemplo copiamos a una nueva lista usando una condición, solo los elementos que contengan la vocal “o” (minúscula).
cars = ["Volvo", "Audi", "Opel", "Ford", "Toyota"] newCars = [c for c in cars if "o" in c] print(newCars) # ['Volvo', 'Ford', 'Toyota']
Otros métodos de list
Otros de los métodos que proporcionan las listas en Python son;
sort(): ordena los elementos alfanuméricamente.
reverse(): invierte el orden.
count(): retorna el número de veces que un valor aparece en la lista.
index(): devuelve la posición de un valor.
copy(): devuelve una copia de la lista.
cars = ["Volvo", "Audi", "Opel", "Ford", "Toyota", "Audi"] cars.sort() print(cars) # ['Audi', 'Audi', 'Ford', 'Opel', 'Toyota', 'Volvo'] cars.reverse() print(cars) # ['Volvo', 'Toyota', 'Opel', 'Ford', 'Audi', 'Audi'] print(cars.count("Audi")) # 2 print(cars.index("Toyota")) # 1 print(cars.copy()) # ['Volvo', 'Toyota', 'Opel', 'Ford', 'Audi', 'Audi']
Más información: https://docs.python.org
0 comentarios