supprimer des éléments dans 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 dans une listeLe code de Jeff est excellent et utilise un moyen intelligent pour supprimer toutes les instances multiples des éléments indésirables.
Juste pour illustrer qu'il existe souvent plusieurs façons de faire les choses en JSL : voici une approche alternative utilisant des 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 dans une liste@txnelson a raison, l'index de script et le guide de script sont d'excellentes ressources.
Pour vous aider tout au long du processus, consultez les fonctions For() boucle, Remove From() , As List() et Loc() .
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 dans 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