map, filter et autres loop
Rédigé par Paulo
Aucun commentaire
Classé dans : Python
Utilisation de quelqus fonctions sympathiques de Python:
source :
- https://towardsdatascience.com/top-3-python-functions-you-dont-know-about-probably-978f4be1e6d
- https://towardsdatascience.com/five-cool-python-looping-tips-14f6f44bcfc7
-
map:
def carre(num): return num**2 data = [1,2,3,4,5,6,7,8,9] # la fonction<carre> est appliqué à chaque element du tableau list(map(carre, data)) [1,4,9,16,25,36,49,64,81]
-
filter
def sup_15(num): return x > 15 data = [3,17,32,5,84] list(filter(sup_15, data)) [17,32,84]
-
dictionnaire + filter
# autre exemple avec un dictionnaire people = [{"name": "John", "id": 1}, {"name": "Mike", "id": 4}, {"name": "Sandra", "id": 2}, {"name": "Jennifer", "id": 3}] for person in filter(lambda i: i["id"] % 2 == 0, people): print(person) dico = [ p for p in filter(lambda i: i["id"] % 2 == 0, people) ] ... {'name': 'Mike', 'id': 4} {'name': 'Sandra', 'id': 2} # création d'un dictionnaire avec enumerate l = [5,10,15] data = dict(enumerate(l)) >>> data {0: 5, 1: 10, 2: 15}
-
boucle avec zip
for premier,second in zip(array1,array2): print(premier) print(second) impair = [1,3,5,7,9] pair = [2,4,6,8,10] for impairnum, pairnum in zip(odds,evens): print(impairnum) print(pairnum)
-