6.41.27 Compter les éléments d’une liste ou d’une matrice vérifiant une propriété : count
count a un, deux ou trois paramètres :
-
une liste d’entiers L
-
une fonction réelle f,
- liste L de longueur n ou une matrice A de
dimension p*q,
- un argument optionnel row ou col, dans le cas où le
deuxième paramètre est une matrice A.
Lorsque count a :
-
un paramètre qui est une liste d’entiers L, count(L)
compte le nombre d’occurrences en renvoyant une matrice de 1ière colonne les
éléments de la liste L triée et de 2ième colonne l’effectif de cet
élément dans la liste.
- deux paramètres,
count applique la fonction aux éléments de la liste (ou de la
matrice) et en renvoie la somme, c’est à dire,
count(f,L) renvoie le nombre f(L[0])+f(L[1])+..f(L[n-1]) ou
count(f,A) renvoie le nombre f(A[0,0])+....+f(A[p-1,q-1]).
Si f est une fonction boolénne count renvoie le nombre
d’éléments de la liste (ou de la matrice) pour lesquels la fonction
boolénne est vraie.
- ou trois paramètres,
count applique la fonction aux éléments de chaque ligne
(resp colonne) de la matrice A si l’argument optionnel est row
(resp col) et renvoie une liste de longueur p ayant comme kième
élément :
f(A[k,0])+...f(A[k,q-1]) (resp une liste de longueur q
ayant comme kième élément : f(A[0,k])+..f(A[p-1,k])).
On tape :
count([1,3,1,1,2,10,3])
On obtient :
[[1,3],[2,1],[3,2],[10,1]]
On tape :
count((x)->x,[2,12,45,3,7,78])
Ou on tape :
count((x)->x,[[2,12,45],[3,7,78]])
On obtient :
147
car on a : 2+12+45+3+7+78=147.
On tape :
count((x)->x,[[2,12,45],[3,7,78]],row)
On obtient :
[59,88]
car on a : 2+12+45=59 et 3+7+78=88.
On tape :
count((x)->x,[[2,12,45],[3,7,78]],col)
On obtient :
[5,19,123]
car on a : 2+3=5,12+7=10,45+78=123.
On tape :
count((x)->x<12,[2,12,45,3,7,78])
On obtient :
3
On tape :
count((x)->x==12,[2,12,45,3,7,78])
Ou on tape :
count((x)->x==12,[[2,12,45],[3,7,78]])
On obtient :
1
On tape :
count((x)->x>12,[2,12,45,3,7,78])
On obtient :
2
On tape :
count(x->x^
2,[3,5,1])
On obtient :
35
En effet on a : 32+52+11=35.
On tape :
count(id,[3,5,1])
On obtient :
9
En effet, id est la fonction identité et on a : 3+5+1=9.
On tape :
count(1,[3,5,1])
On obtient :
3
En effet, 1 est la fonction constante égale à 1 et on a : 1+1+1=3.