rimuovere elementi in un elencoCiao,
qualcuno può aiutarmi.....ho due liste come questa:
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};
vorrei rimuovere gli elementi della lista DELCOLS da MYLIST
risultati aspettati:
MYLIST = {:Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")}
grazie in anticipo
Gianpaolo
Ri: rimuovere elementi in una listaIl codice di Jeff è eccezionale e utilizza un modo intelligente per rimuovere qualsiasi istanza multipla degli elementi indesiderati.
Solo per illustrare che spesso c'è più di un modo per fare le cose in JSL: ecco un approccio alternativo che utilizza gli array associativi.
(Nota, tutti i multipli verrebbero rimossi)
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);
Ri: rimuovere elementi in una lista@txnelson è giusto, lo Scripting Index e la Scripting Guide sono risorse eccellenti.
Per aiutarti lungo la strada, però, dai un'occhiata al Per() ciclo continuo, Rimuovere da() , Come lista() E Loc() funzioni.
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] ) ) )
);
Ri: rimuovere elementi in una listaDovresti usare la funzione Remove(). Vedere l'indice di scripting
Aiuto==>Indice degli script
per dettagli.
Ti suggerisco caldamente di leggere la Guida allo scripting.Contiene un dettaglio su come manipolare le liste
Aiuto==>Libri==>Guida allo scripting