eliminar elementos en una listaHola,
alguien puede ayudarme... tengo dos listas como esta:
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};
Me gustaría eliminar los elementos de la lista DELCOLS de MYLIST.
Resultados previstos:
MYLIST = {:Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")}
gracias de antemano
Gianpaolo
Re: eliminar elementos de una listaEl código de Jeff es excelente y utiliza una forma inteligente de eliminar múltiples instancias de elementos no deseados.
Sólo para ilustrar que a menudo hay más de una forma de hacer las cosas en JSL: aquí hay un enfoque alternativo que utiliza matrices asociativas.
(Tenga en cuenta que se eliminarán todos los múltiplos)
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: eliminar elementos de una lista@txnelson tiene razón, el Índice de secuencias de comandos y la Guía de secuencias de comandos son recursos excelentes.
Sin embargo, para ayudarle en el camino, consulte el bucle For() , las funciones Remove From() , As List() y 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: eliminar elementos de una listaUsarías la función Remove(). Ver el índice de secuencias de comandos
Ayuda==>Índice de secuencias de comandos
para detalles.
Le recomiendo encarecidamente que lea la Guía de secuencias de comandos. Contiene un detalle sobre cómo manipular listas.
Ayuda==>Libros==>Guía de secuencias de comandos