Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonctions Intégrées | Fonction Comme Argument
Techniques Python Intermédiaires
course content

Contenu du cours

Techniques Python Intermédiaires

Techniques Python Intermédiaires

1. Emballage et Déballage
2. Arguments dans les Fonctions
3. Fonction Comme Argument
4. Portée des Variables
5. Décorateurs

book
Fonctions Intégrées

Voici deux autres exemples démontrant l'utilisation des fonctions lambda avec les fonctions filter() et sorted() en Python.

Alternativement, vous pouvez passer une fonction personnalisée plus complexe au lieu d'une lambda à ces fonctions d'ordre supérieur.

filter()

La fonction filter() est utilisée pour créer un itérateur à partir des éléments d'un itérable pour lesquels une fonction retourne vrai. Voici un exemple utilisant filter() avec une fonction lambda pour filtrer les nombres impairs d'une liste :

12345678
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Using a lambda function to filter out odd numbers even_numbers = filter(lambda x: x % 2 == 0, numbers) # Convert the filter object to a list even_numbers_list = list(even_numbers) print(even_numbers_list)
copy

Dans cet exemple, la fonction lambda lambda x: x % 2 == 0 vérifie si un nombre est pair. La fonction filter() applique cette lambda à chaque élément de la liste de nombres et retourne un itérateur de nombres pairs.

sorted()

La fonction sorted() renvoie une nouvelle liste triée à partir des éléments de n'importe quel itérable.

  • iterable est la séquence à trier (liste, dict, tuple, etc);
  • key est une fonction à exécuter pour décider de l'ordre;
  • reverse est un booléen. False est un ordre croissant, et True est décroissant. La valeur par défaut est False.

Voici un exemple utilisant sorted() avec une fonction lambda pour trier une liste de tuples en fonction du deuxième élément de chaque tuple :

123456
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Using a lambda function to sort by the second element of each tuple sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
copy

Dans cet exemple, la fonction lambda lambda x: x[1] renvoie le deuxième élément de chaque tuple. La fonction sorted() trie ensuite la liste de tuples en fonction de ces deuxièmes éléments, ce qui donne une liste triée alphabétiquement par les noms des fruits.

Tâche

Swipe to start coding

Considérons une liste de dictionnaires représentant des livres, et vous souhaitez filtrer les livres qui ont un certain nombre de pages.

  1. Définissez la liste des livres. books est une liste de dictionnaires. Chaque dictionnaire représente un livre avec deux clés : "title" et "pages".
  2. Créez la fonction personnalisée has_many_pages qui accepte les arguments book et min_pages.
  3. Utilisez filter() avec la fonction personnalisée.
  4. Convertissez l'objet filter en une liste, stockez-le dans la variable filtered_books_list, et imprimez-le.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
toggle bottom row

book
Fonctions Intégrées

Voici deux autres exemples démontrant l'utilisation des fonctions lambda avec les fonctions filter() et sorted() en Python.

Alternativement, vous pouvez passer une fonction personnalisée plus complexe au lieu d'une lambda à ces fonctions d'ordre supérieur.

filter()

La fonction filter() est utilisée pour créer un itérateur à partir des éléments d'un itérable pour lesquels une fonction retourne vrai. Voici un exemple utilisant filter() avec une fonction lambda pour filtrer les nombres impairs d'une liste :

12345678
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Using a lambda function to filter out odd numbers even_numbers = filter(lambda x: x % 2 == 0, numbers) # Convert the filter object to a list even_numbers_list = list(even_numbers) print(even_numbers_list)
copy

Dans cet exemple, la fonction lambda lambda x: x % 2 == 0 vérifie si un nombre est pair. La fonction filter() applique cette lambda à chaque élément de la liste de nombres et retourne un itérateur de nombres pairs.

sorted()

La fonction sorted() renvoie une nouvelle liste triée à partir des éléments de n'importe quel itérable.

  • iterable est la séquence à trier (liste, dict, tuple, etc);
  • key est une fonction à exécuter pour décider de l'ordre;
  • reverse est un booléen. False est un ordre croissant, et True est décroissant. La valeur par défaut est False.

Voici un exemple utilisant sorted() avec une fonction lambda pour trier une liste de tuples en fonction du deuxième élément de chaque tuple :

123456
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Using a lambda function to sort by the second element of each tuple sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
copy

Dans cet exemple, la fonction lambda lambda x: x[1] renvoie le deuxième élément de chaque tuple. La fonction sorted() trie ensuite la liste de tuples en fonction de ces deuxièmes éléments, ce qui donne une liste triée alphabétiquement par les noms des fruits.

Tâche

Swipe to start coding

Considérons une liste de dictionnaires représentant des livres, et vous souhaitez filtrer les livres qui ont un certain nombre de pages.

  1. Définissez la liste des livres. books est une liste de dictionnaires. Chaque dictionnaire représente un livre avec deux clés : "title" et "pages".
  2. Créez la fonction personnalisée has_many_pages qui accepte les arguments book et min_pages.
  3. Utilisez filter() avec la fonction personnalisée.
  4. Convertissez l'objet filter en une liste, stockez-le dans la variable filtered_books_list, et imprimez-le.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt