Les comprensions de llistes són una característica poderosa i concisa de Python que permet crear noves llistes aplicant una expressió a cada element d'una seqüència o iterable. Aquesta tècnica és molt útil per simplificar el codi i fer-lo més llegible.

Conceptes Clau

  1. Sintaxi Bàsica:

    [expressió for element in iterable]
    
    • expressió: Una operació que es realitza sobre cada element.
    • element: L'element actual de l'iterable.
    • iterable: Qualsevol objecte que es pot iterar (llistes, tuples, cadenes, etc.).
  2. Condicions en Comprensions de Llistes:

    [expressió for element in iterable if condició]
    
    • condició: Una expressió booleana que filtra els elements de l'iterable.

Exemples Pràctics

Exemple 1: Crear una Llista de Números al Quadrat

# Llista original
numeros = [1, 2, 3, 4, 5]

# Utilitzant comprensions de llistes per obtenir els quadrats
quadrats = [x**2 for x in numeros]

print(quadrats)  # Sortida: [1, 4, 9, 16, 25]

Exemple 2: Filtrar Números Parells

# Llista original
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Utilitzant comprensions de llistes per obtenir només els números parells
parells = [x for x in numeros if x % 2 == 0]

print(parells)  # Sortida: [2, 4, 6, 8, 10]

Exemple 3: Convertir Cadenes a Majúscules

# Llista original
paraules = ["hola", "món", "python", "programació"]

# Utilitzant comprensions de llistes per convertir a majúscules
majúscules = [paraula.upper() for paraula in paraules]

print(majúscules)  # Sortida: ['HOLA', 'MÓN', 'PYTHON', 'PROGRAMACIÓ']

Exemple 4: Números Parells al Quadrat

# Llista original
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Utilitzant comprensions de llistes per obtenir els quadrats dels números parells
quadrats_parells = [x**2 for x in numeros if x % 2 == 0]

print(quadrats_parells)  # Sortida: [4, 16, 36, 64, 100]

Exercicis Pràctics

Exercici 1: Crear una Llista de Cubes

Descripció: Donada una llista de números, crea una nova llista que contingui els cubes de cada número.

# Llista original
numeros = [1, 2, 3, 4, 5]

# TODO: Utilitza comprensions de llistes per obtenir els cubes
cubes = [x**3 for x in numeros]

print(cubes)  # Sortida esperada: [1, 8, 27, 64, 125]

Exercici 2: Filtrar Números Imparells

Descripció: Donada una llista de números, crea una nova llista que contingui només els números imparells.

# Llista original
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# TODO: Utilitza comprensions de llistes per obtenir només els números imparells
imparells = [x for x in numeros if x % 2 != 0]

print(imparells)  # Sortida esperada: [1, 3, 5, 7, 9]

Exercici 3: Filtrar i Convertir a Majúscules

Descripció: Donada una llista de cadenes, crea una nova llista que contingui només les cadenes que tenen més de 3 caràcters, convertides a majúscules.

# Llista original
paraules = ["hola", "món", "python", "és", "genial"]

# TODO: Utilitza comprensions de llistes per filtrar i convertir a majúscules
majúscules_filtrades = [paraula.upper() for paraula in paraules if len(paraula) > 3]

print(majúscules_filtrades)  # Sortida esperada: ['HOLA', 'PYTHON', 'GENIAL']

Resum

Les comprensions de llistes són una eina molt potent en Python que permet crear noves llistes de manera concisa i llegible. Poden incloure condicions per filtrar elements i són útils per a una gran varietat de tasques, des de la transformació de dades fins a la filtració d'elements.

En el següent mòdul, explorarem les funcions en Python, incloent com definir-les, passar arguments i utilitzar funcions lambda per a operacions més concises.

Curs de Programació en Python

Mòdul 1: Introducció a Python

Mòdul 2: Estructures de Control

Mòdul 3: Funcions i Mòduls

Mòdul 4: Estructures de Dades

Mòdul 5: Programació Orientada a Objectes

Mòdul 6: Gestió de Fitxers

Mòdul 7: Gestió d'Errors i Excepcions

Mòdul 8: Temes Avançats

Mòdul 9: Proves i Depuració

Mòdul 10: Desenvolupament Web amb Python

Mòdul 11: Ciència de Dades amb Python

Mòdul 12: Projecte Final

© Copyright 2024. Tots els drets reservats