Section : Listes et matrices
Précédent : Listes et matrices
Suivant : Matrices
L'élément d'ordre i de liste est liste[i]
ou op(liste,i).
Si les éléments sont eux-mêmes des listes,
l'élément d'ordre j de la (sous-)liste i
est liste[i][j] ou
op(liste,[i,j]). Le nombre d'éléments est nops(liste).
On peut appliquer certains opérateurs à
l'ensemble d'une liste par map, select ou split,
itérer une fonction par fp::nest ou fp::fixedpt.
map($1..10, (n->cos((1/2+n)*PI)));
f:= (x,y) -> (x+y^2):
fp::fold(f,1)(a,b,c,d);
g:=x->(1/(1+x)):
fp::nest(g,4)(a);
fp::nestvals(g,4)(a);
fibonacci:= func((if n <= 2 then 1 else f(n-1) + f(n-2) end_if), f, n);
fib:= fp::fixedpt(fp::curry(fibonacci));
fib(n) $ n=0..10;
| Créer une liste |
[f(i) $ i=a..b] |
Créer une liste en itérant un paramètre |
map |
Appliquer une fonction aux éléments d'une liste |
zip |
Appliquer une fonction aux éléments de deux listes |
fp::fold |
Itérer récursivement une fonction de deux variables |
fp::nestvals |
Itérer une fonction |
| Ajouter des éléments |
append |
Ajouter un élément en fin de liste |
[x].liste |
Ajouter un élément en début de liste |
linsert |
Ajouter un élément à une place donnée |
_concat ou . |
Concaténer des listes |
| Sélectionner ou supprimer des éléments |
l[i] ou op(l,i) |
Elément de rang i |
op(l,i..j) |
Extraire des éléments consécutifs |
select |
Extraire des éléments vérifiant un critère |
split |
Séparer des éléments suivant un critère |
subsop |
Remplacer des éléments de rangs fixés |
l[i]:=NIL |
Supprimer un élément à une position donnée |
[op({op(liste)})] |
Supprimer les éléments redondants |
La différence entre split et select est que select
retourne uniquement la liste des objets vérifiant le critère donné, alors
que split retourne trois listes : les objets pour lesquels
le critère vaut TRUE, ceux pour lesquels il vaut FALSE,
et les autres.
| Trier une liste |
revert |
Inverser l'ordre des éléments |
sort |
Trier selon un ordre spécifié |
map(l,op) |
Aplatir une liste de listes (ou d'autres structures) |
map(l,DOM_LIST) |
Augmenter le nombre de niveaux |
Section : Listes et matrices
Précédent : Listes et matrices
Suivant : Matrices