Les llistes són una de les estructures de dades més utilitzades en Python. Són col·leccions ordenades i mutables que permeten emmagatzemar una seqüència d'elements de qualsevol tipus. En aquesta secció, aprendrem a crear, modificar i manipular llistes.
Contingut
Creació de Llistes
Per crear una llista en Python, simplement utilitzem els claudàtors []
i separem els elements amb comes.
# Creació d'una llista buida llista_buida = [] # Creació d'una llista amb elements llista = [1, 2, 3, 4, 5]
També podem crear llistes que continguin elements de diferents tipus.
Accés als Elements de la Llista
Podem accedir als elements d'una llista utilitzant els índexs. Els índexs en Python comencen en 0.
llista = [10, 20, 30, 40, 50] # Accés al primer element primer_element = llista[0] # 10 # Accés al tercer element tercer_element = llista[2] # 30
També podem utilitzar índexs negatius per accedir als elements des del final de la llista.
# Accés a l'últim element ultim_element = llista[-1] # 50 # Accés al penúltim element penultim_element = llista[-2] # 40
Modificació de Llistes
Les llistes són mutables, el que significa que podem canviar els seus elements després de crear-les.
llista = [10, 20, 30, 40, 50] # Modificació del segon element llista[1] = 25 # [10, 25, 30, 40, 50] # Modificació de l'últim element llista[-1] = 55 # [10, 25, 30, 40, 55]
Operacions amb Llistes
Concatenació
Podem concatenar dues o més llistes utilitzant l'operador +
.
Repetició
Podem repetir els elements d'una llista utilitzant l'operador *
.
Subllistes
Podem obtenir subllistes utilitzant la notació de slicing.
llista = [10, 20, 30, 40, 50] # Subllista des del segon element fins al quart (no inclòs) subllista = llista[1:4] # [20, 30, 40] # Subllista des del començament fins al tercer element (no inclòs) subllista_inici = llista[:3] # [10, 20, 30] # Subllista des del tercer element fins al final subllista_final = llista[2:] # [30, 40, 50]
Iteració sobre Llistes
Podem iterar sobre els elements d'una llista utilitzant un bucle for
.
Mètodes de Llistes
Python proporciona diversos mètodes per treballar amb llistes. A continuació es mostren alguns dels més comuns:
Mètode | Descripció |
---|---|
append(x) |
Afegeix l'element x al final de la llista. |
extend(iter) |
Afegeix tots els elements de l'iterable iter al final de la llista. |
insert(i, x) |
Insereix l'element x a la posició i . |
remove(x) |
Elimina la primera aparició de l'element x . |
pop([i]) |
Elimina i retorna l'element a la posició i (per defecte, l'últim). |
clear() |
Elimina tots els elements de la llista. |
index(x) |
Retorna l'índex de la primera aparició de l'element x . |
count(x) |
Retorna el nombre de vegades que l'element x apareix a la llista. |
sort() |
Ordena els elements de la llista en ordre ascendent. |
reverse() |
Inverteix l'ordre dels elements de la llista. |
Exemples de Mètodes
llista = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] # Afegeix un element al final llista.append(8) # [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8] # Insereix un element a la posició 2 llista.insert(2, 7) # [3, 1, 7, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8] # Elimina la primera aparició del 5 llista.remove(5) # [3, 1, 7, 4, 1, 9, 2, 6, 5, 3, 5, 8] # Ordena la llista llista.sort() # [1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9] # Inverteix l'ordre de la llista llista.reverse() # [9, 8, 7, 6, 5, 5, 4, 3, 3, 2, 1, 1]
Exercicis Pràctics
Exercici 1
Crea una llista que contingui els números de l'1 al 10. Després, utilitza un bucle for
per imprimir només els números parells.
Solució:
# Creació de la llista llista = list(range(1, 11)) # Impressió dels números parells for num in llista: if num % 2 == 0: print(num)
Exercici 2
Crea una llista amb els elements ['poma', 'plàtan', 'taronja', 'llimona']
. Afegeix l'element 'mango'
al final de la llista i després insereix l'element 'cirera'
a la segona posició. Finalment, elimina l'element 'llimona'
.
Solució:
# Creació de la llista fruites = ['poma', 'plàtan', 'taronja', 'llimona'] # Afegeix 'mango' al final fruites.append('mango') # Insereix 'cirera' a la segona posició fruites.insert(1, 'cirera') # Elimina 'llimona' fruites.remove('llimona') print(fruites) # ['poma', 'cirera', 'plàtan', 'taronja', 'mango']
Exercici 3
Crea una llista amb els números [5, 3, 8, 6, 7, 2]
. Ordena la llista en ordre ascendent i després inverteix l'ordre.
Solució:
# Creació de la llista numeros = [5, 3, 8, 6, 7, 2] # Ordena la llista numeros.sort() # Inverteix l'ordre numeros.reverse() print(numeros) # [8, 7, 6, 5, 3, 2]
Conclusió
Les llistes són una eina fonamental en Python per emmagatzemar i manipular col·leccions d'elements. Hem après a crear llistes, accedir als seus elements, modificar-les, realitzar operacions amb elles, iterar sobre els seus elements i utilitzar diversos mètodes útils. Practicar amb llistes és essencial per dominar la programació en Python. En la següent secció, explorarem les tuples, una altra estructura de dades important.
Curs de Programació en Python
Mòdul 1: Introducció a Python
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn