supprimer des éléments d'une listeBonjour,
quelqu'un peut m'aider ..... j'ai deux listes comme celle-ci:
MYLIST = {:empty, :empty2, :Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")};
DELCOLS= {:empty, :empty2};
je voudrais supprimer les éléments de la liste DELCOLS de MYLIST
Résultats attendus:
MYLIST = {:Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")}
Merci d'avance
Gianpaolo
Re : supprimer des éléments d'une listeLe code de Jeff est excellent et utilise un moyen astucieux de supprimer toutes les instances multiples des éléments indésirables.
Juste pour illustrer qu'il y a souvent plus d'une façon de faire les choses en JSL : voici une approche alternative utilisant les tableaux associatifs.
(Remarque, tous les multiples seraient supprimés)
MYLIST = {:empty, :empty2, :Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")};
DELCOLS = {:empty, :empty2};
// Remove DELCOLS from MYLIST. Retains original order of items.
AA = Associative Array(MYLIST, 1 :: N Items(MYLIST));
MYLIST = (AA << Remove(Associative Array(DELCOLS)) << get keys)[Rank(AA << get values)];
// If order is not important, this simpler version works (items sorted alphabetically)
MYLIST_sorted = Associative Array(MYLIST) << Remove(Associative Array(DELCOLS)) << get keys;
Show(MYLIST, MYLIST_sorted);
Re : supprimer des éléments d'une liste@txnelson a raison, le Scripting Index et le Scripting Guide sont d'excellentes ressources.
Pour vous aider tout au long du chemin, consultez le Pour() boucle, Retirer() , Comme liste() et Loc() les fonctions.
MYLIST = {:empty, :empty2, :Name( "A:k" ), :Name( "A:m" ), :Name( "A:x" ), :Name( "A:y" ), :NA,
:Name( "D:3" ), :Name( "D:6" ), :Name( "D:8" )};
DELCOLS = {:empty, :empty2};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( mylist, As List( Loc( mylist, delcols[i] ) ) )
);
Re : supprimer des éléments d'une listeVous utiliseriez la fonction Remove(). Voir l'index des scripts
Aide==>Index des scripts
pour plus de détails.
Je vous suggère fortement de lire le Guide de script.Il contient un détail sur la façon de manipuler les listes
Aide==>Livres==>Guide de script