edit et corrections d'erreurs factuelles, de calculs et de mise en page
This commit is contained in:
@@ -426,7 +426,7 @@ print(wrapped)
|
||||
|
||||
---
|
||||
|
||||
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
|
||||
Auteurs : Florian Mathieu, Enzo Frémeaux, Timothée Decoster
|
||||
|
||||
Licence CC BY NC
|
||||
|
||||
|
||||
@@ -150,9 +150,11 @@ En Python, la fonction lambda se définit à l'aide du mot-clé **lambda** :
|
||||
```python
|
||||
add_a_b = lambda a,b: a + b
|
||||
|
||||
entre_10_et_20 = lambda x : True if (x > 10 and x < 20) else False
|
||||
entre_10_et_20 = lambda x: 10 < x < 20
|
||||
```
|
||||
|
||||
*Remarque : inutile d'écrire `True if condition else False` - la condition **est** déjà un booléen, on la renvoie directement.*
|
||||
|
||||
Appelée aussi fonction anonyme, il ne faut pas en abuser en Python, elle :
|
||||
|
||||
- est utile pour définir une fonction simple, proche d’une définition mathématique, en une ligne ;
|
||||
@@ -171,17 +173,21 @@ Appliquer une fonction à chaque élément d'une liste.
|
||||
```python
|
||||
f = lambda x: x*5
|
||||
liste = [2, 7, -1]
|
||||
resultat = map(f, liste)
|
||||
resultat = list(map(f, liste)) # [10, 35, -5]
|
||||
```
|
||||
|
||||
*Remarque : `map` renvoie un itérateur, pas une liste. Sans le `list()`, un `print(resultat)` afficherait `<map object at 0x...>`.*
|
||||
|
||||
__La réduction__
|
||||
|
||||
Combiner les éléments d’une liste en appliquant une fonction à l’aide d’un accumulateur (à l’état initial, acc prend la première valeur de la liste et x la deuxième, le résultat est stocké dans acc).
|
||||
|
||||
```python
|
||||
import functools
|
||||
|
||||
liste = [1, 3, 5, 6, 2]
|
||||
f_somme = lambda acc, x: acc + x
|
||||
somme = functools.reduce(f_somme, liste)
|
||||
somme = functools.reduce(f_somme, liste) # 17
|
||||
```
|
||||
|
||||
```python
|
||||
@@ -197,7 +203,7 @@ Sélectionne les éléments d'une liste vérifiant un certain critère.
|
||||
```python
|
||||
liste = [1, 3, 5, 6, 2]
|
||||
f_filtre = lambda x: x >= 3
|
||||
liste_filtree = filter(f_filtre, liste)
|
||||
liste_filtree = list(filter(f_filtre, liste)) # [3, 5, 6]
|
||||
```
|
||||
|
||||
#### Boucler en programmation fonctionnelle
|
||||
@@ -451,7 +457,7 @@ Voici une tâche simple : nous voulons faire cuire des pâtes.
|
||||
|
||||
------
|
||||
|
||||
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
|
||||
Auteurs : Florian Mathieu, Enzo Frémeaux, Timothée Decoster
|
||||
|
||||
Licence CC BY NC
|
||||
|
||||
|
||||
@@ -406,7 +406,7 @@ print(f"Somme : {total}") # 15
|
||||
|
||||
---
|
||||
|
||||
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
|
||||
Auteurs : Florian Mathieu, Enzo Frémeaux, Timothée Decoster
|
||||
|
||||
Licence CC BY NC
|
||||
|
||||
|
||||
Reference in New Issue
Block a user